добавить один CSV в другой как фрейм данных на основе определенных имен столбцов без заголовков в пандах

У меня есть CSV во фрейме данных с этими столбцами и данными

ID.   Col1.    Col2.  Col3   Col4

У меня есть еще один CSV-файл с

ID.   Column2.    Column3

Как я могу добавить 1-й CSV со вторыми данными под соответствующими заголовками, не включая заголовок CSV2

Мой ожидаемый фрейм данных

ID.             Col1.          Col2.               Col3              Col4
Data.CSV1       Data.CSV1      Data.CSV1           Data.CSV1          Data.CSV1

ID.DataCSV2.                  Column2.DataCSV2.       Column3.DataCSV2

Учитывая, что имена столбцов в CSV отличаются от


person Yash    schedule 26.02.2020    source источник


Ответы (2)


IIUC,

вам нужно будет очистить имена столбцов, после чего вы можете выполнить простой concat.

import re

def col_cleaner(cols):
    new_cols = [re.sub('\s+|\.','',x) for x in cols]
    return new_cols


df1.columns = col_cleaner(df1.columns)
df2.columns = col_cleaner(df2.columns)

#output

#['ID', 'Val1', 'Val2', 'Val3', 'Val4']

#['ID', 'Val2', 'Val3']

new_df = pd.concat([df1,df2],axis=0)
new_df.to_csv('your_csv.csv')
person Umar.H    schedule 26.02.2020

Я думаю, вы можете использовать .append

df1.append(df2)

   col1  col2  col3
0     1     2   2.0
1     2     3   3.0
2     3     4   4.0
0     3     2   NaN
1     4     3   NaN
2     5     4   NaN

Образцы данных

df1 = pd.DataFrame({'col1': [1,2,3], 'col2':[2,3,4], 'col3':[2,3,4]})
df2 = pd.DataFrame({'col1': [3,4,5], 'col2':[2,3,4]})
person YOLO    schedule 26.02.2020
comment
Как он будет определять имена столбцов? - person Yash; 26.02.2020
comment
он проверяет ключи, которые являются общими для обоих объектов df, и добавляет их. Надеюсь, это поможет. - person YOLO; 27.02.2020