Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有条件key1的自定义合并包含key2_Python_Pandas - Fatal编程技术网

Python 带有条件key1的自定义合并包含key2

Python 带有条件key1的自定义合并包含key2,python,pandas,Python,Pandas,我试图合并两个数据帧,条件是key1包含key2,下面是一个示例 df1 name info Bill Gates Microsoft Steve Jobs Apple Elon Musk Tesla df2 name info Bill aaa Kate bbb Steve ccc 我在key'name'列上进行合并,我想要得到的结果是 df3 name info name

我试图合并两个数据帧,条件是key1包含key2,下面是一个示例

df1

name         info
Bill Gates   Microsoft
Steve Jobs   Apple
Elon Musk    Tesla
df2

name        info
Bill        aaa
Kate        bbb
Steve       ccc
我在key'name'列上进行合并,我想要得到的结果是

df3

name          info         name     info
Bill Gates    Microsoft    Bill     aaa
Steve Jobs    Apple        Steve    ccc
在我的例子中,df1相对较小,约有600条记录,但df2相当大,约有200万条记录,因此效率也是一个问题,非常感谢。

重命名内容并合并

rename_dict = {'name': 'full', 'info': 'company'}
df1.rename(columns=rename_dict).assign(
    name=lambda d: d.full.str.split().str[0]).merge(df2)

         full    company   name info
0  Bill Gates  Microsoft   Bill  aaa
1  Steve Jobs      Apple  Steve  ccc

这不是合并,这是非常不同的。关于效率,请看: