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