Joh*_*gis 3 sorting pandas pandas-groupby
我正在处理数据框,并希望按列(ID)分组,显示相应的标签并为每个标签计数。然后,如何使用python获取数据框中每个ID的前2个标签?
data=
ID Label
A Apple
B Apple
B Apple
C Banana
C Pear
A Pear
B Apple
C Apple
A Banana
A Apple
C Pear
A Banana
B Pear
B Pear
B Banana
C Apple
Run Code Online (Sandbox Code Playgroud)
我已经能够通过ID和Label进行分组,并且还可以获得每个ID的计数,但是我无法获得仅获得每个ID的前2名的最后一部分。
data=
ID Label
A Apple
B Apple
B Apple
C Banana
C Pear
A Pear
B Apple
C Apple
A Banana
A Apple
C Pear
A Banana
B Pear
B Pear
B Banana
C Apple
Run Code Online (Sandbox Code Playgroud)
这给了我这张桌子:
ID Label counts
A Apple 2
A Banana 2
A Pear 1
B Apple 3
B Banana 1
B Pear 2
C Apple 2
C Banana 1
C Pear 2
Run Code Online (Sandbox Code Playgroud)
我想要的预期结果是:
ID Label counts
A Apple 2
Banana 2
B Apple 3
Pear 2
C Apple 2
Pear 2
Run Code Online (Sandbox Code Playgroud)
如果只需要head两者(前2个)
data.groupby(['ID']).Label.value_counts().groupby(level=0).head(2)
Out[770]:
ID Label
A Apple 2
Banana 2
B Apple 3
Pear 2
C Apple 2
Pear 2
Name: Label, dtype: int64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |