使用資料框我創建了列。我需要對應 ID 的 SNR 中最大的五個數字。例如,對于 J07451689 2804046,我需要五個最大的,它應該繼續到下一個 ID,即 J05062845 7149258。我正在嘗試對其進行切片,但我被困在這里:
import pandas as pd
df = pd.read_table("Ident_new_test.txt",sep=",",header=None)
print(df)
df.shape
for i in range(0,N):
df1 = df.loc[:, "1":"1":2]
print(df1)′′′
ID SNR
J07451689 2804046 200
J07451689 2804046 217
J07451689 2804046 257
J07451689 2804046 200
J07451689 2804046 181
J07451689 2804046 206
J07451689 2804046 198
J07451689 2804046 222
J05062845 7149258 281
J05062845 7149258 397
J15170588 7149258 431
J15170588 7149258 347
J15170588 7149258 411
J15170588 7149258 495
J18255915 6533486 257
J18255915 6533486 317
J18255915 6533486 349
J18255915 6533486 321
J18255915 6533486 403
J18255915 6533486 332
J19420540 5029382 328
J19420540 5029382 305
J19420540 5029382 721
J19420540 5029382 350 ′′′
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').
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/434021.html
