Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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 使用公共列连接两个csv文件_Python_Pandas - Fatal编程技术网

Python 使用公共列连接两个csv文件

Python 使用公共列连接两个csv文件,python,pandas,Python,Pandas,我试图使用df_merge函数将两个csv文件及其公共列连接在一起,问题是它们有多个公共列。我可以修改代码来实现这一点吗 以下是我的两个csv文件中列的外观示例: 文件1: A、B、C、D、E 文件2: A Z B C R p D E 这是我的密码 df_merge=file2.merge(file1,left_on=“A”,right_on=“E”) 但它似乎不起作用,因为我将在合并文件中获得重复的变量。首先导入pandas库: import pandas as pd 您可以读取以下两个cs

我试图使用
df_merge
函数将两个csv文件及其公共列连接在一起,问题是它们有多个公共列。我可以修改代码来实现这一点吗

以下是我的两个csv文件中列的外观示例:

文件1:

A、B、C、D、E

文件2:

A Z B C R p D E

这是我的密码

df_merge=file2.merge(file1,left_on=“A”,right_on=“E”)


但它似乎不起作用,因为我将在合并文件中获得重复的变量。

首先导入
pandas
库:

import pandas as pd
您可以读取以下两个csv文件:

data = pd.read_csv('Train_Roll_Number.txt', sep=" ", header=None)
data1 = pd.read_csv('Train_RGB_Sketch.txt', sep=" ", header=None)
data.columns = ['A', 'E', 'B']
data1.columns = ['A', 'E', 'C']
我选择将它们存储到
data
data1
。现在,如果要合并字段“A”和“E”上的这些数据帧,请使用:

data = pd.merge(data, data1, on=['A', 'E'])

在上的
参数中,您可以指定要合并两个csv文件的字段列表。

根据您的要求,您需要找到第一个常用列名并传递给
操作符上的
。然后简单地使用
merge
函数,如下所示:

import pandas as pd
CommonCols = [col for col in df1.columns if col in df2.columns]
data = pd.merge(df1, df2, on=CommonCols )


df_merge=file2.merge(file1,on=[col for col in file1.columns if col in file2.columns])
?如何工作
df_merge=file2.merge(file1)
?好方法
on
kwarg非常方便@斯瓦迪卡尔,真的!
data = pd.merge(df1, df2, on=[col for col in df1.columns if col in df2.columns])