大Pandas3个具有相同指数的df连锁

2024-04-23 15:51:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我在连接3个具有相同索引的数据帧时遇到问题(在本例中,索引是日期)。我试图将三个不同的数据帧绘制到一个绘图图上,并认为组合这些数据帧将是最简单的。目前我正在使用如下代码。

pd.concat([df1,df2,df3], axis = 1)

但我提出以下错误。

^{pr2}$

我的数据帧结构如下。

           A
7/28/2018  4 
7/29/2018  5

           B
7/28/2018  3
7/29/2018  4

           C
7/28/2018  1
7/29/2018  2

我想要以下结果:

           A B C
7/28/2018  4 3 1
7/29/2018  5 4 2

有人能解释一下我在这里做错了什么吗?


Tags: 数据代码绘图错误绘制结构pddf1
1条回答
网友
1楼 · 发布于 2024-04-23 15:51:39

您应该确保您的索引精确地相同。下面是一个最小的示例,说明只要重复的索引相同,就可以连接

idx = ['7/28/2018', '7/28/2018', '7/29/2018']

df_A = pd.DataFrame({'A': [1, 2, 3]}, index=idx)
df_B = pd.DataFrame({'B': [4, 5, 6]}, index=idx)
df_C = pd.DataFrame({'C': [7, 8, 9]}, index=idx)

res = pd.concat([df_A, df_B, df_C], axis=1)

print(res)

           A  B  C
7/28/2018  1  4  7
7/28/2018  2  5  8
7/29/2018  3  6  9

即便是对其中一个指数进行重新排序,也会导致这一局面破裂。另一种解决方案是在连接之前删除重复索引,请参见Remove rows with duplicate indices。在

相关问题 更多 >