Я уже давно пользуюсь пандами. Но я не понял, в чем разница между isna()
и isnull()
в пандах. И, что более важно, какой из них использовать для определения пропущенных значений в кадре данных.
Какова основная разница в том, как значение определяется как na
или null
?
Ответы:
Панды
isna()
противisnull()
.Я предполагаю, что вы имеете в виду
pandas.DataFrame.isna()
противpandas.DataFrame.isnull()
. Не путать с темpandas.isnull()
, что в отличие от двух выше не является методом класса DataFrame.Эти два метода DataFrame сделать точно то же самое! Даже их документы идентичны. Вы даже можете подтвердить это в коде панд .
Но почему два метода с разными именами делают одно и то же?
Это потому, что DataFrames панд основаны на DataFrames R. В R
na
иnull
две разные вещи. Прочтите этот пост для получения дополнительной информации.Однако в python pandas построен поверх numpy, который не имеет ни
na
null
значений, ни значений. Вместо этого numpy имеетNaN
значения (что означает «не число»). Следовательно, панды также используютNaN
ценности.Короче говоря
Для обнаружения
NaN
значений используется NumPynp.isnan()
.Для определения
NaN
значений панды использует либо.isna()
или.isnull()
.Эти
NaN
значения унаследованы от того , что панды построены на вершине NumPy, в то время как имена двух функций происходят из DataFrames АиРа, чья структура и функциональность панд пытались имитировать.источник