【发布时间】:2017-03-19 21:31:32
【问题描述】:
【问题讨论】:
-
首先,请在您的问题中包含您的数据框示例,而不是发布链接。然后,发布您迄今为止为解决问题所做的尝试。
标签: python sorting pandas dataframe group-by
【问题讨论】:
标签: python sorting pandas dataframe group-by
假设你有以下 DF:
In [97]: df
Out[97]:
Time
waller poster
1 11 2
22 3
33 1
44 1
55 1
2 33 1
3 11 1
22 1
33 1
44 2
55 1
66 3
解决方案:
In [98]: (df.sort_index(ascending=[1,0])
...: .groupby(level=0, as_index=False)
...: .apply(lambda x: x.head(5) if len(x) >= 5 else x.head(0))
...: .reset_index(level=0, drop=True)
...: )
...:
Out[98]:
Time
waller poster
1 55 1
44 1
33 1
22 3
11 2
3 66 3
55 1
44 2
33 1
22 1
【讨论】:
要对海报栏进行排序,您可以使用sort level
df.sortlevel(1, ascending=False)
要获得前 n 个结果,您可以使用 .head
df.head(5)
要删除记录,您可以参考相应的级别:
df = df[df.index.levels[1] > 5]
如果这有帮助,请告诉我。很难说这是否能用有限的信息回答你的问题
【讨论】: