Как часть unit test, мне нужно проверить два DataFrames для равенства. Порядок столбцов в DataFrames для меня не важен. Однако, кажется, имеет значение Pandas:
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
. Очевидно, что это спорно, что правильная функциональность ==
должна быть в этом контексте. Мой вопрос: есть ли метод Pandas, который делает то, что я хочу? То есть, есть ли способ сделать сравнение равенства, игнорируя порядок столбцов?