2017-02-10 35 views

回答

2

您可以先重命名第二個數據幀的列。

如果他們有相同的列數,然後簡單地說:

dataframe2.columns = dataframe1.columns

,然後CONCAT他們。

+0

我選擇作爲答案,因爲其他人不處理大列號。謝謝! – renakre

+1

是的,總是很難從3個完美的答案中選擇一個;) – jezrael

2

您可以使用numpy.concatenateDataFrame構造:

print (np.concatenate([df1, df2])) 
[[15 23] 
[12 29]] 

df = pd.DataFrame(np.concatenate([df1, df2]), columns=['a','b']) 
print (df) 
    a b 
0 15 23 
1 12 29 
2

您可以通過重命名基於第一第二數據幀的列使用append

In [304]: df1.append(df2.rename(columns=dict(zip(df2.columns, df1.columns)))) 
Out[304]: 
    columnA columnB 
0  15  23 
0  12  29 

詳情。

In [308]: df1 
Out[308]: 
    columnA columnB 
0  15  23 

In [309]: df2 
Out[309]: 
    columnC columnD 
0  12  29 

In [310]: dict(zip(df2.columns, df1.columns)) 
Out[310]: {'columnC': 'columnA', 'columnD': 'columnB'} 

In [311]: df2.rename(columns=dict(zip(df2.columns, df1.columns))) 
Out[311]: 
    columnA columnB 
0  12  29 
相關問題