在熊猫中将3 df与相同索引串联

时间:2018-07-29 22:46:01

标签: python pandas plotly

在连接具有相同索引的3个数据帧时遇到问题(在这种情况下,索引是日期)。我试图将三个differnetnet数据框绘制到一个可绘制的图上,并且将这些数据框组合起来将是最简单的。目前,我正在使用以下代码。

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

但是我提出了以下错误。

ValueError: cannot reindex from a 
duplicate axis

我的数据框的结构如下。

           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

有人可以在这里解释我在做什么吗?

1 个答案:

答案 0 :(得分:0)

您应确保您的索引准确相同。这是一个最小的示例,显示您可以并入重复的索引,只要它们是相同的:

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