我需要合并多个数据框。这是数据帧的示例代码
df1 = pd.DataFrame(np.array([
[0, 5, 9],
[0.3434, 4, 61],
[10.22, 24, 9]]),
columns=['time', 'attr11', 'attr12'])
df2 = pd.DataFrame(np.array([
[0, 5, 19],
[0.3, 14, 16],
[9.99, 4, 9]]),
columns=['time', 'attr21', 'attr22'])
df3 = pd.DataFrame(np.array([
[0, 15, 49],
[6.66, 4, 36],
[9.66, 14, 9]]),
columns=['time', 'attr31', 'attr32'])
现在,如果可以,请串联
con = pd.concat([df1,df2,df3], ignore_index=True, sort=True)
sorted_data = con.sort_values(by="time")
我得到的(几乎)输出是我想要的,但是还有3行0。
这是我得到的输出
attr11 attr12 attr21 attr22 attr31 attr32 time
0 5.0 9.0 NaN NaN NaN NaN 0.0000
3 NaN NaN 5.0 19.0 NaN NaN 0.0000
6 NaN NaN NaN NaN 15.0 49.0 0.0000
4 NaN NaN 14.0 16.0 NaN NaN 0.3000
1 4.0 61.0 NaN NaN NaN NaN 0.3434
7 NaN NaN NaN NaN 4.0 36.0 6.6600
8 NaN NaN NaN NaN 14.0 9.0 9.6600
5 NaN NaN 4.0 9.0 NaN NaN 9.9900
2 24.0 9.0 NaN NaN NaN NaN 10.2200
零时间行应具有一行,而不是三行,因此NaN零时间行中将没有行。
这应该第一行看起来像
0 5.0 9.0 5.0 19.0 15.0 49
我怎样才能做到这一点 ?
三国纷争
相关分类