Объедините два CSV-файла, которые имеют похожую структуру строк, но не имеют общего индекса между ними - PullRequest
0 голосов
/ 23 октября 2018

У меня есть два CSV-файла, которые я хочу объединить, добавив информацию столбца из одного CSV-файла в другой.Однако они не имеют общего индекса между ними, но имеют одинаковое количество строк (они в порядке).Я видел много примеров объединения файлов CSV на основе индекса и с одинаковыми номерами, однако мои файлы CSV не имеют аналогичного индекса, но они в порядке.Я попробовал несколько разных примеров без удачи.

mycsvfile1

"a","1","mike"
"b","2","sally"
"c","3","derek"

mycsvfile2

"boy","63","retired"
"girl","55","employed"
"boy","22","student"

Желаемый результат для outcsvfile3

"a","1","mike","boy","63","retired"
"b","2","sally","girl","55","employed"
"c","3","derek","boy","22","student"

Код:

import csv
import panada 

df2 = pd.read_csv("mycsvfile1.csv",header=None)
df1 = pd.read_csv("mycsvfile2.csv", header=None)
df3 = pd.merge(df1,df2)

Использование

df3 = pd.merge([df1,df2])

Добавляет данные в новую строку, которая мне не помогает.Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

У вас нет общих columns между df1 и df2, кроме index.Таким образом, мы можем использовать concat

pd.concat([df1,df2],axis=1)
0 голосов
/ 23 октября 2018

Если оба фрейма данных имеют пронумерованные индексы (то есть начиная с 0 и увеличиваясь на 1 - что является поведением по умолчанию pd.read_csv), и предполагая, что оба фрейма данных уже отсортированы в правильном порядке, так что строки совпадают, тоэто должно сделать это:

df3 = pd.merge(df1,df2, left_index=True, right_index=True)
...