知识点:
1. None类型为NoneType, np.nan类型为float
2. 在pandas中如果遇到None形式的控制则pandas会将其转成NAN的形式
以下三种方式的目标是删除包含空值的行
目录
import pandas as pd
import numpy as np
type(None)
# out: NoneType
type(np.nan)
# out: float
方式一
# 方式一 isnull any
df = pd.DataFrame(data=np.random.randint(0,100,size=(8,6)))
df.iloc[2,3] = None
df.iloc[4,4] = np.nan
df.iloc[5,2] = None
df
df.isnull()
df.isnull().any(axis=1) # 检查行
df.isnull().any(axis=0) # 检查列
drop_index = df.loc[df.isnull().any(axis=1)].index
drop_index
# out: Int64Index([2, 4, 5], dtype='int64')
df.drop(labels=drop_index,axis=0) # 删除缺失的行
方式二
# 方式二 notnull all
df
df.notnull()
df.notnull().all(axis=1) # 检查行
df.notnull().all(axis=0) # 检查列
df.loc[df.notnull().all(axis=1)] # 删除缺失的行
方式三
# 方式三 dropna
df
df.dropna(axis=0) # 删除缺失的行