#pandas
Вопрос:
Я нахожу это невероятно неприятным; У меня есть два кадра данных, df1 и df3, где:
- сравнение создает пустой фрейм данных
- индексы равны
- столбцы равны
и все же pd.equals() терпит неудачу. Я отредактировал фреймы данных по причинам конфиденциальности данных, но этого должно быть достаточно:
print(len(df1)) print(len(df3)) print(df1.compare(df3)) print(df1.index.equals(df3.index)) print(df1.columns.equals(df3.columns)) assert df1.equals(df3)
-gt;
1151 1151 Empty DataFrame Columns: [] Index: [] True True Traceback (most recent call last): File "/Users/tommycarpenter/Development/test.py", line 34, in lt;modulegt; assert df1.equals(df3) AssertionError
как мы видим: длины совпадают, сравнение с использованием df.compare
создает пустой фрейм данных, индексы равны, столбцы равны; все же df.equals
рвота — каковы возможные причины этого?
Моя единственная гипотеза заключается в том, что pd.compare
обрабатывает NaN == NaN
, но не равен?