【发布时间】:2019-02-27 12:27:15
【问题描述】:
如何合并两个不同长度的 pandas 数据框,例如:
df1 = Index block_id Ut_rec_0
0 0 7
1 1 10
2 2 2
3 3 0
4 4 10
5 5 3
6 6 6
7 7 9
df2 = Index block_id Ut_rec_1
0 0 3
2 2 5
3 3 5
5 5 9
7 7 4
result = Index block_id Ut_rec_0 Ut_rec_1
0 0 7 3
1 1 10 NaN
2 2 2 5
3 3 0 5
4 4 10 NaN
5 5 3 9
6 6 6 NaN
7 7 9 4
我已经尝试过类似的方法,但没有成功:
df_result = pd.concat([df1, df2], join_axes=[df1['block_id']])
我已经尝试过: df_result = pd.concat([df1,df2,axis = 1) 但结果是:
Index block_id Ut_rec_0 Index block_id Ut_rec_1
0 0 7 0.0 0.0 3.0
1 1 10 1.0 2.0 5.0
2 2 2 2.0 3.0 5.0
3 3 0 3.0 5.0 9.0
4 4 10 4.0 7.0 4.0
5 5 3 NaN NaN NaN
6 6 6 NaN NaN NaN
7 7 9 NaN NaN NaN
【问题讨论】:
-
pd.concat([df1, df2],axis=1)
-
没有给出预期的结果
-
我使用 pd.concat([df1, df2],axis=1) 输出重新处理了这个问题
标签: python python-3.x pandas