Pandas 追加数据帧时出错:get\u concat\u数据类型中的数据类型确定无效
我有两个Pandas 追加数据帧时出错:get\u concat\u数据类型中的数据类型确定无效,pandas,dataframe,append,python-3.6,Pandas,Dataframe,Append,Python 3.6,我有两个数据帧,具有相同的数据类型: >>> df1.dtypes Out[3]: GUID object RID int64 SID int64 Threshold float64 Average float64 dtype: object >>> df2.dtypes Out[4]: GUID object RID
数据帧
,具有相同的数据类型
:
>>> df1.dtypes
Out[3]:
GUID object
RID int64
SID int64
Threshold float64
Average float64
dtype: object
>>> df2.dtypes
Out[4]:
GUID object
RID int64
SID int64
Threshold float64
Average float64
dtype: object
跑步时
df1.append(df2)
或
pd.concat([df1,df2])
我得到以下错误:
in get_empty_dtype_and_na
raise AssertionError("invalid dtype determination in get_concat_dtype")
知道我遗漏了什么吗?问题是多索引
使用修复了这个问题
非常混乱的错误消息
df1.columns.droplevel(1)
df1.append(df2)
检查此项:我没有理由认为我有重复的列名(请参见数据类型),也没有任何df为空。您能给出解决方案吗?我怀疑我也有类似的东西:我的一些数据帧有多索引的列,还有一些是索引的列。然而,在我尝试使用droplevel时,我得到了“必须通过非零数量的级别/标签”或“太多级别:索引只有1个级别,而不是2个”。@bli您的列可能有各种级别,它们不一定都在相同的维度中。打印
df.dtypes
时,您可以通过缩进看到级别深度。如果你看一下我的问题,你会发现df1
比df2
有一个更深的层次,但也可能只有一些列有更深的层次