как объединить фреймы данных с одинаковым форматом в Python

1

Посмотрел на другие подобные вопросы, но у меня нет прецедента. У меня есть несколько файлов с одинаковым форматом и без заголовка

file1
id, value 
1, 100
2, 150 
...

file2
10, 500
11, 510
....

Я хотел бы "объединить" их, чтобы

id, value
1, 100
2, 150
...
10, 500
11, 510
...

try merge, append, concat, но не смог достичь конечного результата, который я ищу.

df2 = pd.DataFrame(columns=['id','value'])
df2.columns = ['id','value']
for file_name in os.listdir(work_dir):
    df1 = pd.read_csv(work_dir+'/'+file_name, header=None)
    df1.columns = ['id','value']
    df2 = pd.merge(df2,df1, on ='id')

Или любое другое предложение по загрузке нескольких файлов в фрейм данных оценивается. У меня есть другой фрейм данных, идущий из db, будет объединен таким же образом, поэтому слияние тоже будет вопросом.

Теги:
pandas

2 ответа

0
Лучший ответ

Вы ищете добавление. Попробуй это:

df1.append(df2)
  • 0
    это сработало, спасибо.
0

concat также должен работать для вас. https://pandas.pydata.org/pandas-docs/stable/merging.html

Вы также должны указать каждый столбец при импорте...

pd.read_csv(work_dir+'/'+file_name, header=None, names=['id', 'value'])

См. Раздел " Объединение строк двух данных в пандах"

  • 0
    concat дает мне несколько столбцов вместо двух
  • 0
    Возможно, вам также понадобится добавить 'axis = 1' в вызове метода

Ещё вопросы

Сообщество Overcoder
Наверх
Меню