簡體   English   中英

在 pandas dataframe 的其他列中查找列值?

[英]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

如果Tgdf.n0df.n1df.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.eqdf.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM