在对数据进行清洗的时候,一般都需要处理数据集中的空值。首先需要查看各列是否存在空值,然后就可以使用 .fillna() 来填补空值或者用.dropna()来丢弃数据表中包含空值的某些行或者列。
对于查看各列是否存在空值,有两种方法:Pandas.DataFrame isna()和isnull()。事实上,这两种方法并没有什么区别,他们做的是相同的事情。在R语言中,na
和null
是两种不同的东西:
NULL represents the null object in R: it is a reserved word.
NULL is often returned by expressions and functions whose values are
undefined.
NA is a logical constant of length 1 which contains a missing
value indicator. NA can be freely coerced to any other vector
type except raw. There are also constants NA_integer_,
NA_real_, NA_complex_ and NA_character_ of the other atomic
vector types which support missing values: all of these are
reserved words in the R language.
然而,在python中,pandas是构建在numpy之上的。在numpy中,既没有na
也没有null
,而只有NaN
(意思是“Not a Number”),因此,pandas也沿用NaN值。
简单的说:
- numpy用isnan()检查是否存在NaN。
- pandas用.isna()或者.isnull()检查是否存在NaN。
存在着两种方法,只是因为pandas对R的模仿。
原文来自:
https://datascience.stackexchange.com/questions/37878/difference-between-isna-and-isnull-in-pandas
网友评论