首页 > 解决方案 > ValueError:计划形状未对齐 -> 使用 pd.concat() 时

问题描述

我发布这个问题是因为不幸的是,这个问题的先前答案并没有解决我的问题。

我正在尝试连接四个包含数值和日期索引列的数据框。所有数据框的日期索引列都相同,但某些列名不同。

示例(实际上有更多列,但这不应该有所作为):

df1 columns = ['DateIndex', 'A', 'B', 'C', 'D']
df2 columns = ['DateIndex', 'A', 'B', 'C', 'D', 'E', 'F', 'G']
df3 columns = ['DateIndex', 'Z', 'J', 'K']
df4 columns = ['DateIndex', 'B', 'I', 'M']

code: data = pd.concat([df1, df2, df3, df4], axis=0, join='outer')

然后我收到以下错误:

ValueError: Plan shapes are not aligned

我检查了所有数据框中的重复列名,并通过使用以下代码将它们设置为相同的值来检查不同的索引:

df1 = df1[df1.index.isin(df2.index)] -> (for every dataframe)

背景上下文:该命令曾经有效,但由于其中一个数据框的列已更改(从 10 列变为 47 列),因此我遇到了问题。

标签: pythonpandasdataframe

解决方案


推荐阅读