熊猫“只能比较标记相同的DataFrame对象”错误

熊猫“只能比较标记相同的DataFrame对象”错误,第1张

熊猫“只能比较标记相同的DataFrame对象”错误

这是一个小例子来说明这一点(仅适用于Dataframes,不适用于Series,直到Pandas 0.19都适用于两者):

In [1]: df1 = pd.Dataframe([[1, 2], [3, 4]])In [2]: df2 = pd.Dataframe([[3, 4], [1, 2]], index=[1, 0])In [3]: df1 == df2Exception: Can only compare identically-labeled Dataframe objects

一种解决方案是先对索引进行排序(注意:某些函数需要对索引进行排序):

In [4]: df2.sort_index(inplace=True)In [5]: df1 == df2Out[5]:       0     10  True  True1  True  True

注意:对列的顺序

==
也很敏感,因此您可能必须使用
sort_index(axis=1)

In [11]: df1.sort_index().sort_index(axis=1) == df2.sort_index().sort_index(axis=1)Out[11]:       0     10  True  True1  True  True

注意:这仍然可以提高(如果排序后索引/列的标签不相同)。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5648341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存