我有这样的代码:
main
结果如下:
grouped=L2014.groupby(['state','NAME'])
grouped.mask.value_counts(normalize=True,).sort_index()
如何按最大的5真值排序数字?还给它? 比如如何通过真值的降序来显示小组。
更新 尝试后:
state NAME mask
CO Adams False 0.407195
True 0.592805
Alamosa False 1.000000
Arapahoe False 0.460602
True 0.539398
Archuleta False 1.000000
结果是
grouped.mask.value_counts(normalize=1).sort_index(level=2,ascending=False)
正如您所看到的,真实值仍然没有从最大到最小排序,我只希望每个州的前5个值(5个NAME)。
更新:
尝试后:
state NAME mask
TX Zavala True 0.057416
Zapata True 0.042623
Young True 0.928009
Yoakum True 0.886719
Wood True 0.604720
Wise True 0.859006
Wilson True 0.704336
Williamson True 0.269555
Wilbarger True 0.317355
Wichita True 0.067734
Wheeler True 0.992218
Wharton True 0.298335
Webb True 0.465170
Washington True 0.391229
Ward True 0.269036
Waller True 0.145650
Walker True 0.580991
Victoria True 0.076246
Van Zandt True 0.357858
Val Verde True 0.551620
Uvalde True 0.465817
Upton True 0.900000
Upshur True 0.595388
Tyler True 0.119469
Trinity True 0.215548
Travis True 0.684808
我是这样的:
L2014.groupby(['state','NAME']).mask.value_counts(normalize=True).filter(like='True', axis=0).nlargest(2000)
它再按州分组。 谢谢
答案 0 :(得分:1)
试试这个:
grouped.mask.value_counts(normalize=1).sort_index(level=2,ascending=False).filter(like='True', axis=0).nlargest(5)
或
grouped.mask.value_counts(normalize=1).filter(like='True', axis=0).nlargest(5)