墨色風(fēng)雨
2024-01-24 15:48:57
我有一個(gè) df ,其中name包含status存在和不存在作為值。 name status 0 anthony present 1 anthony absent 2 mason present 3 donny present 4 donny absent 5 donny absent 6 paul present 7 paul presentTrue or False我正在嘗試為每個(gè)名字添加狀態(tài) - 。如果其中之一name的absent狀態(tài)將為 False預(yù)期輸出: name output 0 anthony False 1 mason True 2 donny False 3 paul True
2 回答

吃雞游戲
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以比較status然后'present'通過(guò)以下方式獲得最小值name:
# or `all()` instead of `min()`
df['status'].eq('present').groupby(df['name']).min()
輸出:
name
anthony False
donny False
mason True
paul True
Name: status, dtype: bool

波斯汪
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
另一種方法是按名稱分組并查找名稱是否作為唯一狀態(tài)出現(xiàn)。
df.groupby('name')['status'].apply(lambda x: (x=='present').all())
name
anthony False
donny False
mason True
paul True
添加回答
舉報(bào)
0/150
提交
取消