详解pandas.dropna()(删除缺失值)函数使用方法

  • Post category:Python

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() 函数的使用方法和实例介绍。使用该函数可以方便地删除缺失值,提高数据集的处理效果和分析准确率。