如何解决分组并找到前n个value_counts个熊猫
我认为您可以使用nlargest
-您可以更改1
为5
:
s = df['Neighborhood'].groupby(df['Borough']).value_counts()
print s
Borough
bronx Melrose 7
Manhattan Midtown 12
Lincoln Square 2
Staten Island Grant City 11
dtype: int64
print s.groupby(level=[0,1]).nlargest(1)
bronx bronx Melrose 7
Manhattan Manhattan Midtown 12
Staten Island Staten Island Grant City 11
dtype: int64
正在创建其他列,指定级别信息
解决方法
我有一个出租车数据的数据框,其中有两列,如下所示:
Neighborhood Borough Time
Midtown Manhattan X
Melrose Bronx Y
Grant City Staten Island Z
Midtown Manhattan A
Lincoln Square Manhattan B
基本上,每一行代表该市镇附近的一辆出租车。现在,我想找到每个行政区中接送次数最多的前5个街区。我尝试了这个:
df['Neighborhood'].groupby(df['Borough']).value_counts()
这给了我这样的东西:
borough
Bronx High Bridge 3424
Mott Haven 2515
Concourse Village 1443
Port Morris 1153
Melrose 492
North Riverdale 463
Eastchester 434
Concourse 395
Fordham 252
Wakefield 214
Kingsbridge 212
Mount Hope 200
Parkchester 191
......
Staten Island Castleton Corners 4
Dongan Hills 4
Eltingville 4
Graniteville 4
Great Kills 4
Castleton 3
Woodrow 1
我该如何过滤它,以便仅从每一个中获得前5名?我知道有几个标题相似的问题,但它们对我的情况没有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。