繁体   English   中英

使用熊猫[与键列]将CSV与不同列组合

[英]Combining CSV's with Different Columns using Pandas [with key column]

我正在尝试在Python中合并两个CSV文件,每个CSV文件都有唯一的列,但是两个CSV文件共享一个公用的键列。

我一直在寻找StackOverflow / Google / Pandas文档,但找不到我想要的东西。 Pandas文档页面上提供的有关merge和concat的示例与我要实现的示例不同,因此我不确定Pandas是否可以实现我要问的内容。

我已经将两个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

您需要将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')

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM