ssi*_*ral 2 python group-by pandas
我试图根据groupby的另一列获取最大值的行,我试图遵循这里给出的解决方案Python:使用groupby获取具有最大值的行,但是当你申请时它不起作用
annotations.groupby(['bookid','conceptid'], sort=False)['weight'].max()
Run Code Online (Sandbox Code Playgroud)
我明白了
bookid conceptid
12345678 3942 0.137271
10673 0.172345
1002 0.125136
34567819 44407 1.370921
5111 0.104729
6160 0.114766
200 0.151629
3504 0.152793
Run Code Online (Sandbox Code Playgroud)
但是我想只获得权重最高的行,例如:
bookid conceptid
12345678 10673 0.172345
34567819 44407 1.370921
Run Code Online (Sandbox Code Playgroud)
我很感激任何帮助
如果你需要bookid和conceptid最大重量,试试这个
annotations.ix[annotations.groupby(['bookid'], sort=False)['weight'].idxmax()][['bookid', 'conceptid', 'weight']]
Run Code Online (Sandbox Code Playgroud)
注意:由于Pandas v0.20 ix已被弃用.请.loc改用.
| 归档时间: |
|
| 查看次数: |
3750 次 |
| 最近记录: |