我正在尝试在Python中合并两个CSV文件,每个CSV文件都有唯一的列,但是两个CSV文件都共享一个公用的键列。
我一直在寻找StackOverflow / Google / Pandas文档,但是找不到我想要的东西。熊猫文档页面上提供的有关merge和concat的示例与我尝试实现的示例不同,因此我不确定熊猫问是否可以实现我要问的问题。
我已经将两个CSV文件中的选定列读入单独的数据框,现在我想做的是基于键列将两个数据框合并为一个数据框。
Example
CSV 1:
Key Make Model
501 Audi A3
502 Audi A4
503 Audi A5
CSV 2:
Key Engine
501 2.0T
502 2.0T
503 2.0T
Combined Expected Result:
Key Make Model Engine
501 Audi A3 2.0T
502 Audi A4 2.0T
503 Audi A5 2.0T
答案 0 :(得分:0)
您需要将csvs读入2个单独的数据帧,然后将它们加入“键”列。
import pandas as pd
df1 = pd.read_csv('csv1.csv')
df2 = pd.read_csv('csv2.csv')
df_final = df1.merge(df2, left_on = 'Key', right_on = 'Key')
答案 1 :(得分:0)
KacperSobociński的答案是正确的,可以使用熊猫合并。
import pandas as pd
data1 = {'Key': [501,502,503],
'Make': ['Audi','Audi','Audi'],
'Model': ['A3','A4','A5']}
data2 = {'Key':[501,502,503],
'Engine': ['2.0T', '2.0T','2.0T']}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
df = pd.merge(df1,df2, how = 'inner', on = 'Key')
print(df)
Key Make Model Engine
0 501 Audi A3 2.0T
1 502 Audi A4 2.0T
2 503 Audi A5 2.0T