![](/img/trans.png)
[英]Apply a function to translate a column in pandas dataframe with condition on other columns
[英]find a column value in other columns in a pandas dataframe with apply?
我有一個具有以下形式的df
:
id Tg n0 n1 n2
fddef72025 W A B C
fddef72025 A A B C
fddef72025 Y A B C
fddef72025 B A B C
如果Tg
在df.n0
、 df.n1
或df.n2
中,我需要創建一個新列並存儲一個 1 ,例如上面的df
:
id Tg n0 n1 n2 exists
fddef72025 W A B C 0
fddef72025 A A B C 1
fddef72025 Y A B C 0
fddef72025 B A B C 1
到目前為止,我的解決方案涉及“iterrows”,但我確定有辦法df.apply
這個?
IIUC
df.loc[:,'n0':].isin(df.Tg).any(1).astype(int)
0 0
1 1
2 0
3 1
dtype: int64
我認為檢查df.eq
與df.Tg
on axis=0
會給出你想要的輸出
df['exist'] = df[['n0', 'n1', 'n2']].eq(df.Tg, axis=0).any(1).astype(int)
Out[204]:
id Tg n0 n1 n2 exist
0 fddef72025 W A B C 0
1 fddef72025 A A B C 1
2 fddef72025 Y A B C 0
3 fddef72025 B A B C 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.