我目前正在用 python 学习熊猫,但遇到了一个问题。我有一个包含美国人口普查数据csv variables info的 csv 文件。对于这个问题,我们可以关注名为 STNAME(例如,albama)的列和名为 COUNTY 的列。STNAME 对每个县都有重复的值。也就是说,其中的每个县都可以有多个“albama”。问题是:哪个州的县最多?(提示:仔细考虑 sumlevel 键!您将来的问题也需要它......)我在尝试什么:1.a> census_df[census_df.groupby('STNAME')['COUNTY'].count() == max(census_df.groupby('STNAME')['COUNTY'].count())]1.b> census_df[census_df.groupby('STNAME')['COUNTY'].count() == (census_df.groupby('STNAME')['COUNTY'].count().max())]1.c> census_df.groupby('STNAME')[census_df.groupby('STNAME')['COUNTY'].count() == (census_df.groupby('STNAME')['COUNTY'].count().max())]在这里,我试图获取具有最大县计数的记录。最后一个给出错误:'未找到列:假,真'2>x = (census_df.groupby('STNAME')['COUNTY'].count() == census_df.groupby('STNAME')['COUNTY'].count().max() )x[x['COUNTY'] == True]在这里,我按州名分组并计算每个州的县数并获取最大值我可以将值作为 bool 获取。因为只有一个带有 bool "True" 的状态。但我不知道如何只获取那条记录。我应该如何进行?
1 回答

慕勒3428872
TA贡献1848条经验 获得超6个赞
我找到了!
census_df.groupby('STNAME')['COUNTY'].count()[census_df.groupby('STNAME')['COUNTY'].count() == (census_df.groupby('STNAME')['COUNTY'].count().max())]
我认为唯一缺少的是 ['COUNTY'].count() 。我认为这是不必要的,因为我在 [] 括号内查询它,但我想我错了。我的理解是,最外层的格式与通过查询获取的格式不同。
添加回答
举报
0/150
提交
取消