Комбинирование CSV с разными столбцами с использованием панд [с ключевым столбцом] - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь объединить два файла CSV в Python, каждый файл 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

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Kacper Sobociń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
0 голосов
/ 11 апреля 2019

Вам необходимо прочитать ваши 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')
...