我有一些DataFrame,我想按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
Run Code Online (Sandbox Code Playgroud)
哪个产生:
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]
Run Code Online (Sandbox Code Playgroud)
我可以轻松地按ID分组:
grouped = df.groupby("item_id")
Run Code Online (Sandbox Code Playgroud)
但是,我怎样才能只返回前N个分组对象?E. g.我只想要前3个唯一的item_ids.
Jia*_* Li 14
这是使用的一种方式list(grouped).
result = [g[1] for g in list(grouped)[:3]]
# 1st
result[0]
item_id user_id
0 a 1
1 a 2
# 2nd
result[1]
item_id user_id
2 b 1
3 b 1
4 b 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9175 次 |
| 最近记录: |