У меня есть несколько (n) фреймов данных с переменной длиной строки и 3 столбцами в каждом. Мне просто нужен первый столбец каждого фрейма данных, поэтому я удалил остальные, используя df.drop.
Я хочу объединить их в один фрейм данных с n столбцами.
Я использовал pd.concat для слияния.
df1.drop(columns=['col2' ,'col3']).to_csv('df1.csv', sep=';')
df2.drop(columns=['col2', 'col3']).to_csv('df2.csv', sep=';')
pd.concat([pd.concat([df1.drop(columns=['col2','col3']),
df2.drop(columns=['col2','col3'])] ,axis=1)])\
.to_csv('merged.csv', sep=';')
Это дает мне следующий вывод как CSV-файл:
col1 (df1) col1 (df1)
0 0.0
1 0.055
2 0.096
3 0.131
2074 70.997
2075 71.002
2076 71.065
2077 71.101
Итак, вы видите, что он просто добавляет столбцы в виде строк. Хотя, например, строка 3 в столбце 2 пуста. и строка 2074 в столбце 1 пуста.
Я думал, что ось = 1 это исправит, но это не так.
Ожидаемый результат:
col1 (df1) col1 (df1)
0 0.0 70.997
1 0.055 71.002
2 0.096 71.065
3 0.131 71.101
Если я попытаюсь axis = 1, ignoreIndex=True
, имена моих столбцов изменятся на 0 и 1.