我有两个数据帧df1
和df2
。
df1的列名称为:
col1
,col2
,col3
,col4
,col5
,col6
,col7
df2的列名称为:
col1
,col2
,col3
df1的形状为40000行7列
df2的形状为7000行3列。
我想合并df1
和df2
,并创建whoes形状为df3
的{{1}}。
由于47000 rows and 7 columns
的列仅为3,因此当我们合并它们时,其他列应为空
答案 0 :(得分:0)
以下应该可以解决问题:
df3 = pd.concat([df1,df2],ignore_index = True,sort = False)
答案 1 :(得分:0)
我认为您在搜索此问题时使用merge
一词可能会使您感到困惑。大熊猫中的merge
就像SQL中的join
一样。
您真正想做的是将一个数据帧append
移到另一个数据帧。像这样:
df1 = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
df2 = pd.DataFrame(np.random.randn(10, 2), columns=list('CD'))
df3 = df1.append(df2)
print(df3)
A B C D
0 0.756090 0.870448 1.620658 0.292611
1 -0.123287 -1.310157 -1.543878 1.248768
2 -1.008736 0.718931 0.292012 -2.258360
3 1.209176 -0.577204 -0.529350 0.495382
0 NaN NaN 0.180752 -2.143169
1 NaN NaN 1.515064 2.005604
2 NaN NaN -0.507997 0.129836
3 NaN NaN 0.145295 -0.047879