如何“分组依据”将频率计数作为新列获取?

2024-06-23 18:35:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我这样做了,但没有得到预期的结果,因为它没有按要求分组

df1=pd.read_csv('https://cocl.us/sanfran_crime_dataset')
df1.drop(df1.columns.difference(['PdDistrict']),1,inplace=True)
df1=df1.rename(columns={'PdDistrict':'Neighborhood'})
df1['Counts']=df1.groupby('Neighborhood')['Neighborhood'].count() 
df1

第四行代码有什么问题?如果我不将groupby指定为列,那么它可以正常工作,但当我将其指定为列时,它甚至不工作

预期产量

Expected output


Tags: columnscsvhttpsreaddatasetdroppdus
1条回答
网友
1楼 · 发布于 2024-06-23 18:35:07

你为什么不把第四行写成

df1 = df1.groupby('Neighborhood')['Neighborhood'].count()

如果您写入df1['Counts'],您将向现有数据帧添加一个新列,并且新列的长度(是groupby的结果)与df1索引的长度不匹配

相关问题 更多 >

    热门问题