使用熊貓的文本檔案中的最大數字
uj5u.com熱心網友回復:
國際大學聯合會,
out = df.groupby('ID')['SNR'].nlargest(5).reset_index('ID')
print(out)
# Output
ID SNR
9 J05062845 7149258 397
8 J05062845 7149258 281
2 J07451689 2804046 257
7 J07451689 2804046 222
1 J07451689 2804046 217
5 J07451689 2804046 206
0 J07451689 2804046 200
13 J15170588 7149258 495
10 J15170588 7149258 431
12 J15170588 7149258 411
11 J15170588 7149258 347
18 J18255915 6533486 403
16 J18255915 6533486 349
19 J18255915 6533486 332
17 J18255915 6533486 321
15 J18255915 6533486 317
22 J19420540 5029382 721
23 J19420540 5029382 350
20 J19420540 5029382 328
21 J19420540 5029382 305
注意:如果您想保持索引有序,請附加.sort_index()或sort_index(ignore_index=True)在reset_index('ID').
更新
我還需要將洗掉的行作為單獨的輸出。
使用布爾掩碼:
m = df.index.isin(df.groupby('ID')['SNR'].nlargest(5).reset_index('ID').index)
df1 = df.loc[m] # nlargest(5)
df2 = df.loc[~m] # excluded rows
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/436265.html
下一篇:numpy用兩個掩碼寫
