panads缺失值
缺失值
1. panads中默认缺失值有三种:np.nan (Not a Number) 、 None 和 pd.NaT
- 通过isnull(),notnull(),isna()判断
2. 自定义缺失值
- 通过isin(values)判断
判断默认缺失值
可通过函数isnull(),notnull(),isna()判断
以下数据类型变量名=df,例子
1. isnull()
- df.isnull() --判断是否为null,是为True,否为False
2. notnull()
- df.notnull() --判断是否为null,是为False,否为True,与isnull()效果相反
3. isna()
- df.isna() --效果与isnull相同,与notnull相反
4. 此外可以与numpy中的any和all函数一起使用
- numpy.any(参数) --参数中任何一个元素为True,输出=True
- numpy.all(参数) --参数中全部为True,输出=True
- numpy.any(df.notnull) --输出True
- numpy.all(df.notnull) --输出False
判断自定义缺失值
isin([values])
- df.isin([' ']) --以列表方式传入空值
----》
删除缺失值
df.dropna(axis=0, how="any", thresh=None, subset=None, inplace=False)
- axis:默认为0,即删除有空值的行,将axis参数修改为1,即删除有空值的列
- how:默认为any,只要一行(或列)数据中有空值就会删除该行(或列),改为all,则条件需要全部为空值
- thresh: 整数,如df.dropna(thresh=2),至少要有2个非空,不然删除
- subset: 删除空值时,只判断subset指定的列(或行)的子集,如df.dropna(subset = ['0','1'])
- inplace: 默认为False,返回原数据的一个副本。将inplace参数修改为True,则会修改数据本身
填充缺失值
df.fillna(value=None, method=None, axis=None, inplace=False, limit=None)
- value: 表示填充的值,可以是一个指定值,也可以是字典
- method: 填充的方式,默认为None。有 ffill,pad,bfill,backfill 四种填充方式可以使用
- axis: 通常配合method参数使用,axis=0表示按行,axis=1表示按列