-
Anonymous
Pandas DataFrames со сравнением равенства NaN
Сообщение
Anonymous »
В контексте модульного тестирования некоторых функций я пытаюсь установить равенство двух DataFrames с помощью панд Python:
Код: Выделить всё
ipdb> expect
1 2
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df
identifier 1 2
timestamp
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df[1][0]
nan
ipdb> df[1][0], expect[1][0]
(nan, nan)
ipdb> df[1][0] == expect[1][0]
False
ipdb> df[1][1] == expect[1][1]
True
ipdb> type(df[1][0])
ipdb> type(expect[1][0])
ipdb> (list(df[1]), list(expect[1]))
([nan, 3.0], [nan, 3.0])
ipdb> df1, df2 = (list(df[1]), list(expect[1])) ;; df1 == df2
False
Учитывая, что я пытаюсь проверить все ожидаемое со всем df, включая позиции NaN, что я делаю неправильно?
Каков самый простой способ сравнить равенство Series/DataFrames, включая NaN?
Подробнее здесь:
https://stackoverflow.com/questions/193 ... comparison
1767405291
Anonymous
В контексте модульного тестирования некоторых функций я пытаюсь установить равенство двух DataFrames с помощью панд Python:
[code]ipdb> expect
1 2
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df
identifier 1 2
timestamp
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df[1][0]
nan
ipdb> df[1][0], expect[1][0]
(nan, nan)
ipdb> df[1][0] == expect[1][0]
False
ipdb> df[1][1] == expect[1][1]
True
ipdb> type(df[1][0])
ipdb> type(expect[1][0])
ipdb> (list(df[1]), list(expect[1]))
([nan, 3.0], [nan, 3.0])
ipdb> df1, df2 = (list(df[1]), list(expect[1])) ;; df1 == df2
False
[/code]
Учитывая, что я пытаюсь проверить все ожидаемое со всем df, включая позиции NaN, что я делаю неправильно?
[b]Каков самый простой способ сравнить равенство Series/DataFrames, включая NaN?[/b]
Подробнее здесь: [url]https://stackoverflow.com/questions/19322506/pandas-dataframes-with-nans-equality-comparison[/url]