打印两个数据帧之间公用的特定行

2024-09-28 17:25:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧(df1)

id    link 
1     google.com
2     yahoo.com
3     gmail.com

我有另一个数据帧(df2),如下所示:

id    link           numberOfemployees   
1     linkedin.com        15
2     facebook.com        70
3     gmail.com           90
4     google.com          1000
5     twitter.com         155
6     yahoo.com           2

我想编写一个新的数据帧,其中包含df1的行以及df2中的员工数。可行吗

还有


Tags: 数据comidfacebookgooglelink员工twitter
2条回答

您可以尝试以下简单的解决方案:

df2[df2.link.isin(df1.link)]

您需要的是pd.merge查看文档here

import pandas as pd
df1 = pd.DataFrame(
    {'id': [1, 2, 3], 'link': ["google.com", "yahoo.com", "gmail.com"]})
df2 = pd.DataFrame({'id': [1, 2, 3, 4, 5, 6],
                    "link": ["linkedin.com","facebook.com","gmail.com","google.com","twitter.com","yahoo.com"],
                    "numberOfEmployees": [15,70,90,1000,155,2]})

df1.merge(df2, on="link", suffixes=('_left', '_right'))
                           
|   |id_left |  link    |id_right | numberOfEmployees|
| -|    |     |    -|         |
|0  |1       |google.com|   4     |   1000           |
|1  |2       |yahoo.com |   6     |   2              |
|2  |3       |gmail.com |   3     |   90             |
                           

相关问题 更多 >