Python 2.7 熊猫串接数据帧会引发ValueError

Python 2.7 熊猫串接数据帧会引发ValueError,python-2.7,pandas,dataframe,Python 2.7,Pandas,Dataframe,我正在遍历许多较小的数据帧,并使用pandas.concat()将它们连接到单个数据帧中。在循环的中间,使用消息 ValueError引发异常:计划形状未对齐 失败的数据帧包含一行(与之前的所有数据帧一样),列是另一个数据帧的子集。下面是代码的一个示例片段 import pandas as pd df, failed = pd.DataFrame(), pd.DataFrame() for _file in os.listdir(file_dir): _tmp = pd.read_cs

我正在遍历许多较小的数据帧,并使用
pandas.concat()
将它们连接到单个数据帧中。在循环的中间,使用消息<代码> ValueError引发异常:计划形状未对齐

失败的数据帧包含一行(与之前的所有数据帧一样),列是另一个数据帧的子集。下面是代码的一个示例片段

import pandas as pd
df, failed = pd.DataFrame(), pd.DataFrame()
for _file in os.listdir(file_dir):
    _tmp = pd.read_csv(file_dir + _file)
    try:
        df= pd.concat([df, _tmp])
    except ValueError as e:
        if 'Plan shapes are not aligned' in str(e):
            failed = pd.concat([failed, _tmp])
print [x for x in failed.columns if x not in df.columns]
print len(df), len(failed)
我最终得到了结果

Out[10]: []
118 1
检查故障总是相同的数据帧,因此数据帧一定是问题所在。打印出我得到的数据帧

0           timestamp    actual average_estimate median_estimate  \
0 1996-11-14 01:30:00  2.300000         2.380000       2.400000   

0       estimate1       estimate2      estimate3      estimate4   \
0        2.400000        2.200000       2.500000       2.600000   

0       estimate5 
0        2.200000
其格式与其他串联数据帧和
df
数据帧类似。有什么我遗漏的吗

额外信息:我正在使用熊猫0.16.0

编辑:下面的完整堆栈跟踪,带有匿名修改

Traceback (most recent call last):
  File "C:\Users\<user>\Documents\GitHub\<environment>\lib\site-packages\IPython\core\interactiveshell.py", line 3066, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-48539cb93d64>", line 37, in <module>
    df = pd.concat([df, _tmp])
  File "C:\Users\<user>\Documents\GitHub\<environment>\lib\site-packages\pandas\tools\merge.py", line 755, in concat
    return op.get_result()
  File "C:\Users\<user>\Documents\GitHub\<environment>\lib\site-packages\pandas\tools\merge.py", line 926, in get_result
    mgrs_indexers, self.new_axes, concat_axis=self.axis, copy=self.copy)
  File "C:\Users\<user>\Documents\GitHub\<environment>\lib\site-packages\pandas\core\internals.py", line 4040, in concatenate_block_managers
    for placement, join_units in concat_plan]
  File "C:\Users\<user>\Documents\GitHub\<environment>\lib\site-packages\pandas\core\internals.py", line 4258, in combine_concat_plans
    raise ValueError("Plan shapes are not aligned")
ValueError: Plan shapes are not aligned
回溯(最近一次呼叫最后一次):
文件“C:\Users\\Documents\GitHub\\lib\site packages\IPython\core\interactiveshell.py”,第3066行,运行代码
exec(代码对象、self.user\u全局、self.user\n)
文件“”,第37行,在
df=pd.concat([df,_tmp])
concat中的文件“C:\Users\\Documents\GitHub\\lib\site packages\pandas\tools\merge.py”,第755行
返回操作获取结果()
文件“C:\Users\\Documents\GitHub\\lib\site packages\pandas\tools\merge.py”,第926行,在get\U结果中
mgrs\u索引器,self.new\u轴,concat\u轴=self.axis,copy=self.copy)
文件“C:\Users\\Documents\GitHub\\lib\site packages\pandas\core\internals.py”,第4040行,位于连接块管理器中
对于安置,请在concat_平面图中加入_单元]
文件“C:\Users\\Documents\GitHub\\lib\site packages\pandas\core\internals.py”,第4258行,在combine\u concat\u计划中
提升值错误(“平面形状未对齐”)
ValueError:平面形状未对齐

编辑2:尝试使用0.17.1和0.18.0,但仍有相同的错误

@Alexander我已经添加了完整的堆栈跟踪。了解
df.shape
failed.shape
会很有用。您可能需要升级pandas的版本,并查看错误是否仍然存在。
df.shape
产生
(118,65)
失败。shape
产生
(1,9)
这两个都是预期的。看起来索引在列标题和数据行都重复了。@Hun重复代码,但将
忽略\u索引
标志设置为
仍然失败。