単体テストの一環として、2つのDataFrameが等しいかどうかをテストする必要があります。DataFrameの列の順序は私にとって重要ではありません。ただし、パンダにとっては重要なようです。
import pandas
df1 = pandas.DataFrame(index = [1,2,3,4])
df2 = pandas.DataFrame(index = [1,2,3,4])
df1['A'] = [1,2,3,4]
df1['B'] = [2,3,4,5]
df2['B'] = [2,3,4,5]
df2['A'] = [1,2,3,4]
df1 == df2
結果:
Exception: Can only compare identically-labeled DataFrame objects
式df1 == df2
は、すべての値を含むDataFrameに評価される必要があると思いTrue
ます。明らかに==
、このコンテキストでの正しい機能がどうあるべきかについては議論の余地があります。私の質問は:私が望むことをするパンダの方法はありますか?つまり、列の順序を無視する等式比較を行う方法はありますか?