我有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列
答案 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