python - 在不同数据框中查找列匹配

标签 python dataframe matching

假设我有两个数据框 -

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/

相关文章:

Python 3.4 -> 使用 SQLAlchemy win32 连接到 PostGres SQL

python - 在python中使用/和\\in指定文件夹位置有什么区别?

python - 如何从 Azure Python SDK 读取 HTTP 响应

python - 如何用条件填充缺失值?

python - pycassa ColumnFamily.get_range() 与 Lazyboy 的等效项是什么?

python - 将一列中的文本替换为另一列中的字典

Python:将多个 Excel 工作簿读入一个 DataFrame

functional-programming - or-like feature in case … of statement?或者更通用的模式?

xml - 使用 kdiff3 合并 3 个 XML 文件(命令行)

将标签列表与许多其他标签列表进行匹配的算法方法