[英]Check if one column value is in another column and create column to indicate in Pandas
我想檢查Table1
中的A
是否在Table2
中的A1
中找到,並在Table1
中創建一個指示符列來顯示此結果。
Table1
:
A B C G
Harry pig NY Year1
Kasey cat AL Year2
Ron b AK Year1
Amy axe KY Year4
...
Table2
:
A1 Value
John X
Mark Y
Harry Z
Ron Z
...
預期 output:
A B C G exists
Harry pig NY Year1 1
Kasey cat AL Year2 0
Ron b AK Year1 1
Amy axe KY Year4 0
...
這是您可以嘗試的解決方案,使用np.where
import numpy as np
df1['exists'] = np.where(df1['A'].isin(df2['A1'].unique()), 1, 0)
A B C G exists
0 Harry pig NY Year1 1
1 Kasey cat AL Year2 0
2 Ron b AK Year1 1
3 Amy axe KY Year4 0
另一種選擇是合並:
out = pd.merge(df1, df2['A1'].drop_duplicates(),
left_on='A', right_on='A1', how='left') \
.rename(columns={'A1': 'exists'})
out['exists'] = out['exists'].notnull().astype(int)
print(out)
Output:
A B C G exists
0 Harry pig NY Year1 1
1 Kasey cat AL Year2 0
2 Ron b AK Year1 1
3 Amy axe KY Year4 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.