python dropna()用法

python dropna()用法

**
DataFrme.dropna(axis=0,how=’any’,thresh=None,subset=None,inplace=False)
参数:
axis: 默认axis=0。0为按行删除,1为按列删除
how: 默认 ‘any’。 ‘any’指带缺失值的所有行/列;'all’指清除一整行/列都是缺失值的行/列
thresh: int,保留含有int个非nan值的行
subset: 删除特定列中包含缺失值的行或列
inplace: 默认False,即筛选后的数据存为副本,True表示直接在原数据上更改
例子:
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(24).reshape(4,6), index=[‘a’, ‘c’, ‘e’, ‘f’])
df.iloc[0,[1,2,5]]=np.nan
df.iloc[2,[1,4]]=np.nan
print(df)
结果:
python dropna()用法_第1张图片
df=df.dropna()#删除所有包含NaN的行,相当于参数全部默认
#df=df.dropna(axis=0,how=‘any’,thresh=None,subset=None,inplace=False)
print(df)
结果:

df=df.dropna(axis=1)#删除所有包含NaN的列
print(df)
结果:

df.iloc[:,1]=np.nan#将第二列全部设置成nan,下面都是用的下图这个DataFrame了
print(df)
结果:
python dropna()用法_第2张图片

df=df.dropna(axis=1,how=‘all’)#删除一整列都是NaN的列
print(df)
结果:
python dropna()用法_第3张图片

df=df.dropna(axis=1,thresh=3)#保留至少有3个非nan值的列
print(df)
结果:
python dropna()用法_第4张图片

df=df.dropna(subset=[0, 2]) #删除列索引0,2中包含nan的行,字符串要加引号
print(df)
结果:

写了这么久代码,现在才想起来整理,如有错误欢迎大家指正
函数定义是百度的,加了一些自己的理解,后面代码是自己整理的,算是自己的一个学习笔记吧
加油!

你可能感兴趣的:(pandas,python)