Это мой DataFrame df
:
col1 col2
-0.441406 2.523047
-0.321105 1.555589
-0.412857 2.223047
-0.356610 2.513048
Когда я проверяю df
, я вижу, что есть некоторые бесконечные значения.
np.any(np.isnan(df))
np.all(np.isfinite(df))
False
True
В чем разница между NaN и бесконечностью? Кроме того, как я могу удалить все бесконечные значения, чтобы получить True в np.all(np.isfinite(X))
?
Вот что я попробовал:
df = df.replace([np.inf, -np.inf], np.nan).dropna(how="all")
Но все равно проверка infinite
дает мне True.

Более того, .apply(lambda s: s[np.isfinite(s)].dropna()).count()
дает мне то же количество строк во всех столбцах, что и просто df.shape
, что указывает на отсутствие бесконечных значений. Но в этом случае, почему np.all(np.isfinite(df))
возвращает True?