pandas.dropna()
是 Pandas 数据分析库中的一种函数,用于在数据集中去除空值(缺失值)。
一、作用
当我们在处理数据集时,经常会遇到数据集中存在一些缺失值的情况。这些缺失值可能是由于数据采集误差、数据记录错误、数据存储问题等原因造成的。空值会对数据集的处理和分析造成很大的影响。通过使用 pandas.dropna()
函数,我们可以方便地去除数据集中的空值,获取更可靠和干净的数据集,使数据的统计分析更加准确和可靠。
二、使用方法
pandas.dropna()
函数的语法如下:
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
参数说明:
axis
:指定轴方向,默认为 0,即按行处理。如果设置为 1,那么将按列处理。how
:指定删除方式,可选参数为 ‘any’ 和 ‘all’,默认为 ‘any’,即只要有空值就删除整行或整列;’all’ 表示当该行或该列中所有值都为空值时,才进行删除。thresh
:该参数用于设定每行(或每列)最少有多少个非空值时,才不会被删除,例如当thresh=3
时,表示当每行(或每列)至少有 3 个非空值时,该行(或该列)才不会被删除。默认值为 None,即表示没有阈值限制。subset
:该参数是针对某些特定的列,在这些列中只要出现空值,整行就会被删除。如果不指定该参数,则查找整行中所有的空值。该参数是一个列表。inplace
:该参数控制函数是否会修改数据集本身。当 inplace=True 时,表示该函数会直接修改原始的数据集,而不是产生新的数据集。默认值为 False,即表示返回一个新的数据集结果。
下面通过两个实例来演示 pandas.dropna()
的使用。
实例1:按行删除空值
import pandas as pd
# 构建数据
data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie', 'Donald'],
'age': [28, None, 33, 24, 28],
'gender': ['male', 'male', None, 'female', 'male']}
df = pd.DataFrame(data)
# 显示原始数据
print("原始数据:\n", df)
# 按行删除空值
df = df.dropna()
# 显示删除后的数据
print("删除后的数据:\n", df)
输出结果如下:
原始数据:
name age gender
0 Tom 28.0 male
1 Jerry NaN male
2 Mickey 33.0 None
3 Minnie 24.0 female
4 Donald 28.0 male
删除后的数据:
name age gender
0 Tom 28.0 male
3 Minnie 24.0 female
4 Donald 28.0 male
实例2:按列删除空值
import pandas as pd
# 构建数据
data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie', 'Donald'],
'age': [28, None, 33, None, 28],
'gender': ['male', None, None, 'female', 'male']}
df = pd.DataFrame(data)
# 显示原始数据
print("原始数据:\n", df)
# 按列删除空值
df = df.dropna(axis=1)
# 显示删除后的数据
print("删除后的数据:\n", df)
输出结果如下:
原始数据:
name age gender
0 Tom 28.0 male
1 Jerry NaN None
2 Mickey 33.0 None
3 Minnie NaN female
4 Donald 28.0 male
删除后的数据:
name
0 Tom
1 Jerry
2 Mickey
3 Minnie
4 Donald
以上是 pandas.dropna()
函数的使用方法和实例介绍。使用该函数可以方便地删除缺失值,提高数据集的处理效果和分析准确率。