У меня 2 CSV
файлы содержат тысячи данных. Предположим, данные из файлов:
first.csv
:
filename | type | size
----------------------
A | doc | 8
A | doc | 10
B | pdf | 5
second.csv
filename | type | size
----------------------
A | doc | 8
A | doc | 10
C | jpg | 3
Мне нужно объединить оба файла на основе нескольких столбцов, а именно filename
и type
. Добавьте два новых столбца в объединенную таблицу из столбца size
в обоих файлах. Сохраните его в новый файл csv
. Итак, новая таблица должна быть:
filename | type | size-1 | size-2
---------------------------------
A | doc | 8 | 8
A | doc | 10 | 10
B | pdf | 5 | 0
C | jpg | 0 | 3
Я написал код:
ds1 = pd.read_csv('first.csv')
ds2 = pd.read_csv('second.csv')
data_merge = ds1.merge(ds2, on=['filename','type'],how='outer',suffixes=('-1','-2'))
data_merge.fillna(0, inplace=True)
data_merge = data_merge.reset_index(drop=True)
data_merge.to_csv('new.csv')
Когда я выполняю код, я получаю новую таблицу с данными A
, повторяемыми много раз, объединяя каждое значение в столбце size
.
filename | type | size-1 | size-2
---------------------------------
A | doc | 8 | 8
A | doc | 8 | 10
A | doc | 10 | 8
A | doc | 10 | 10
B | pdf | 5 | 0
C | jpg | 0 | 3
Как решить эту проблему? Спасибо.