Проверьте, равны ли два pandas фрейма данных с несовпадающими индексами python - PullRequest
0 голосов
/ 10 июля 2020

Мне было интересно, можно ли проверить сходство между двумя фреймами данных ниже. Они такие же, но первая и третья строки перевернуты. Есть ли способ проверить, что эти фреймы данных одинаковы, независимо от порядка индекса? Спасибо за любую помощь!

enter image description here

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Вы можете использовать merge , а затем искать подмножество строк, которых нет ни в одном из фреймов данных.

df_a = pd.DataFrame([['a','b','c'], ['c','d','e'], ['e','f','g']], columns=['col1','col2','col3'])
df_b = pd.DataFrame([['e','f','g'], ['c','d','e'], ['a','b','c']], columns=['col1','col2','col3'])
df_merged = pd.merge(df_a, df_b, on=df_a.columns.tolist(), how='outer', indicator='Exist')
print(df_merged[(df_merged['Exist'] != 'both')])
0 голосов
/ 10 июля 2020

Отсортируйте DF таким же образом, а затем сравните или переберите все столбцы, отсортируйте один столбец за раз и сравните его

Если это нормально и вам нужна помощь в написании кода, позвольте мне знать

...