假设我有两个数据框 -
dic = {'firstname':['John','Jacob','Jim','Matt','David','Susan','Karen',
'Linda','Pam','Rachel'],
'lastname':['Smith','Jones','Miller','White','Johnson','Wilson',
'Wilkins','Parker','Cunningham','Ray'],
'company':['KFC','BK','MCD','KFC','WND','CFA','CHP','TB','INO','TB']}
df = pd.DataFrame(dic)
print(df)
带输出-
firstname lastname company
0 John Smith KFC
1 Jacob Jones BK
2 Jim Miller MCD
3 Matt White KFC
4 David Johnson WND
5 Susan Wilson CFA
6 Karen Wilkins CHP
7 Linda Parker TB
8 Pam Cunningham INO
9 Rachel Ray TB
和
dic2 = {'workplace':['BLB','RDB','CFA','STB','DNK','ENP','TB','SHZ','JJ','SUB']}
df2 = pd.DataFrame(dic2)
print(df2)
带输出-
workplace
0 BLB
1 RDB
2 CFA
3 STB
4 DNK
5 ENP
6 TB
7 SHZ
8 JJ
9 SUB
我的目标是查找 df2 中工作场所列中的任何值是否与 df1 中公司列相匹配。
有什么想法吗?随意解决任何问题,可能的输出可能只是 -
firstname lastname company matched
0 John Smith KFC False
1 Jacob Jones BK False
2 Jim Miller MCD False
3 Matt White KFC False
4 David Johnson WND False
5 Susan Wilson CFA True
6 Karen Wilkins CHP False
7 Linda Parker TB True
8 Pam Cunningham INO False
9 Rachel Ray TB True
最佳答案
使用Series.isin
.
>>> df['matched'] = df['company'].isin(df2['workplace'])
>>> df
firstname lastname company matched
0 John Smith KFC False
1 Jacob Jones BK False
2 Jim Miller MCD False
3 Matt White KFC False
4 David Johnson WND False
5 Susan Wilson CFA True
6 Karen Wilkins CHP False
7 Linda Parker TB True
8 Pam Cunningham INO False
9 Rachel Ray TB True
关于python - 在不同数据框中查找列匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62345370/