1
我想比较两个pd.dataframes
平等:评估排序大熊猫dataframes的平等并不像预期的那样
foo = pd.DataFrame([['between', 1.5], ['between', 2],
['between', 2.0], ['within', 2.0]],
columns=['Group', 'Distance'])
bar = pd.DataFrame([['between', 2], ['between', 1.5],
['within', 2.0], ['between', 2.0]],
columns=['Group', 'Distance'])
至于我而言这两个dataframes是相同的,但是我知道大熊猫不同意因为它们的顺序不一样。我的想法是,我可以进行排序,然后重新索引
foo = foo.sort_values('Distance').reset_index(drop=True)
bar = bar.sort_values('Distance').reset_index(drop=True)
熊猫排序给出因为dataframes的初始排序的不同的结果。而事实上,他们不评价为等同:
foo.equals(bar)
False
我能先排序上Group
,然后Distance
这将返回True
,但是在处理较大dataframes我很担心有明确定义每次排序规则。有没有更好的方法来比较两个不同顺序的数据框?
替代解决方案:'(foo.sort_values([ '集团', '距离'])值= = bar.sort_values(['Group','Distance'])。values).all()' – MaxU