axis:指定是删除行(axis=0)还是删除列(axis=1)。
how:指定删除行或列的条件,默认为 any,表示只要存在一个缺失值就删除,也可以设置为 all,表示全部缺失值才删除。
subset:指定删除行或列的范围,默认为None,表示删除所有含有缺失值的行或列。
示例:
import pandas as pd
data = {'Name': ['Tom', 'John', 'Amy', 'Emily', 'Mike'],
'Age': [20, 25, None, 30, 35],
'Gender': ['M', 'M', 'F', None, 'M']}
df = pd.DataFrame(data)
# 删除所有含有缺失值的行
df.dropna()
# 删除所有含有缺失值的列
df.dropna(axis=1)
# 删除Age列中含有缺失值的行
df.dropna(subset=['Age'])
示例:
import pandas as pd
data = {'Name': ['Tom', 'John', 'Amy', 'Emily', 'Mike'],
'Age': [20, 25, None, 30, 35],
'Gender': ['M', 'M', 'F', None, 'M']}
df = pd.DataFrame(data)
# 过滤掉所有含有缺失值的行
df = df[df.notnull().all(axis=1)]
# 过滤掉所有含有缺失值的列
df = df[df.notnull().all(axis=0)]