我有一個 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我正在嘗試為每個名字添加狀態 - 。如果其中之一name的absent狀態將為 False預期輸出: name output 0 anthony False 1 mason True 2 donny False 3 paul True
2 回答

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
您可以比較status然后'present'通過以下方式獲得最小值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貢獻1811條經驗 獲得超4個贊
另一種方法是按名稱分組并查找名稱是否作為唯一狀態出現。
df.groupby('name')['status'].apply(lambda x: (x=='present').all())
name
anthony False
donny False
mason True
paul True
添加回答
舉報
0/150
提交
取消