比方说,我有两个数据帧,分别是...
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