我有一些数据帧,我想按ID分组,例如:
import pandas as pd
df = pd.DataFrame({'item_id': ['a', 'a', 'b', 'b', 'b', 'c', 'd'], 'user_id': [1,2,1,1,3,1,5]})
print df
产生:
item_id user_id
0 a 1
1 a 2
2 b 1
3 b 1
4 b 3
5 c 1
6 d 5
[7 rows x 2 columns]
我可以很容易地按id分组:
grouped = df.groupby("item_id")
但是我怎样才能按对象只返回前N个组呢?E、 我只想要前三个唯一的物品ID。
一种方法是使用
Counter
从列表中获取前3个唯一项,根据这些项筛选数据帧,然后在此筛选的数据帧上执行groupby操作。这是一种使用
list(grouped)
的方法。相关问题 更多 >
编程相关推荐