仅将具有列名的数据框追加到具有数据的另一个数据框

时间:2019-05-28 13:46:26

标签: python pandas dataframe

我有2个数据框,如下所示。

数据框1(仅包含列名,没有数据):

Name   Age   Gender

0行* 3列

数据框2(具有超过1000行的数据):

level_1   level_2    level_3
AAA       26         M
BBB       19         F
CCC       24         F

1000行* 3列

我必须附加以上两个数据框。

预期产量

数据框1

Name   Age   Gender
AAA    26    M
BBB    19    F
CCC    24    F

到目前为止我尝试过的事情:

dataframe_1 = dataframe_1.append(dataframe_2,ignore_index = True)

这给了我以下输出:

Name   Age   Gender   level_1   level_2   level_3
NaN    NaN   NaN      AAA       26        M
NaN    NaN   NaN      BBB       19        F
NaN    NaN   NaN      CCC       24        F

1000行* 6列

3 个答案:

答案 0 :(得分:3)

鉴于您的期望,我认为没有问题:

dataframe_2.columns = dataframe_1.columns

答案 1 :(得分:2)

需要相同的列名以确保两个DataFrame之间的列正确对齐,因此请通过另一个DataFrame设置列名:

dataframe_2.columns = dataframe_1.columns
dataframe_1 = dataframe_1.append(dataframe_2,ignore_index = True)

另一种解决方案:

dataframe_1 = pd.concat([dataframe_1, dataframe_2],ignore_index = True)

print (dataframe_1)
  Name Age Gender
0  AAA  26      M
1  BBB  19      F
2  CCC  24      F

答案 2 :(得分:2)

将第一个数据框的.columns属性替换为第二个数据框:

import pandas as pd


df = pd.DataFrame({
    'val': ['Cat', 'Tiger', 'Ball', 'Bat'],
    'id': [1, 2, 3, 1]
})
df2 = pd.DataFrame({
    'waka': [],
    'wattafak': []
})
df.columns = df2.columns
df
    waka    wattafak
0   1   Cat
1   2   Tiger
2   3   Ball
3   1   Bat