我有df:
date id label pred
1/1 1 0 0.2
2/1 1 1 0.5
1/1 2 1 0.9
2/1 2 1 0.3
我想要每個 id,當標簽列等于 1 時獲取第一行。例如需要 df:
date id label pred
2/1 1 1 0.3
1/1 2 1 0.9
謝謝!
uj5u.com熱心網友回復:
首先只過濾行,label=1然后按idby洗掉重復項DataFrame.drop_duplicates:
df1 = df[df['label'].eq(1)].drop_duplicates('id')
uj5u.com熱心網友回復:
您可以groupby在僅保留標簽設定為 1 的行之后使用并獲取第一行:
out = df[df['label'] == 1].groupby('id', as_index=False).first()
print(out)
# Output
id date label pred
0 1 2/1 1 0.5
1 2 1/1 1 0.9
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443646.html
下一篇:檢查按年和季度熊貓資料框排序
