📌  相关文章
📜  如何删除数据框中的 na 值 - Python (1)

📅  最后修改于: 2023-12-03 15:08:29.789000             🧑  作者: Mango

如何删除数据框中的 na 值 - Python

在数据处理和数据分析中,经常会遇到缺失值(NA)的情况。因为缺失值可能会对数据的处理和分析造成干扰,因此我们需要将缺失值进行处理。本文将介绍如何使用 Python 中的 Pandas 库来处理数据框中的缺失值。

1. 查找缺失值

在对数据框进行处理之前,我们需要先查找缺失值。在 Pandas 中,我们可以使用 isnull() 方法找到每个元素是否为空,如果为空则返回 True,否则返回 False。例如:

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [5, None, 7, 8], 'C': [9, 10, 11, 12]})

# 查找缺失值
print(df.isnull())

运行结果如下:

       A      B      C
0  False  False  False
1  False   True  False
2   True  False  False
3  False  False  False
2. 删除缺失值

在查找到缺失值之后,我们可以使用 dropna() 方法来删除缺失值。默认情况下,该方法会删除包含缺失值的行。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [5, None, 7, 8], 'C': [9, 10, 11, 12]})

# 删除缺失值
df = df.dropna()
print(df)

运行结果如下:

     A    B   C
0  1.0  5.0   9
3  4.0  8.0  12

如果要删除列中的缺失值,我们可以使用 axis=1 参数。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [5, None, 7, 8], 'C': [9, 10, 11, 12]})

# 删除列中的缺失值
df = df.dropna(axis=1)
print(df)

运行结果如下:

    C
0   9
1  10
2  11
3  12
3. 填充缺失值

如果不希望删除缺失值,我们可以使用 fillna() 方法来填充缺失值。该方法有多种填充方式,例如使用均值、中位数、众数等。

import pandas as pd

# 创建一个数据框
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [5, None, 7, 8], 'C': [9, 10, 11, None]})

# 使用均值填充缺失值
df = df.fillna(df.mean())
print(df)

运行结果如下:

     A    B     C
0  1.0  5.0   9.0
1  2.0  6.0  10.0
2  2.333333  7.0  11.0
3  4.0  8.0  10.0

以上就是使用 Python 中 Pandas 库来处理数据框中的缺失值的方法,如有疑问欢迎在评论区留言讨论。