Pandas-填充 nan 直到第一个非 NULL 值

作者:编程家 分类: pandas 时间:2025-10-08

在数据分析和处理的过程中,经常会遇到缺失值的情况。缺失值是指数据集中的某些条目或特征的值为空或未定义。在处理这些缺失值时,我们需要采取一定的策略来填充这些空值,以保证数据的完整性和准确性。在Python的数据分析库Pandas中,我们可以使用fillna()函数来填充缺失值。本文将介绍如何使用Pandas来填充缺失值,并且以一个案例代码来说明。

首先,我们需要导入Pandas库,并创建一个包含缺失值的数据集。下面是一个示例数据集:

python

import pandas as pd

import numpy as np

data = {'A': [1, np.nan, np.nan, 4, 5],

'B': [6, 7, np.nan, 9, 10],

'C': [11, 12, 13, np.nan, 15]}

df = pd.DataFrame(data)

在上述代码中,我们创建了一个包含三列的数据集df,其中包含了一些缺失值。接下来,我们可以使用fillna()函数来填充这些缺失值。

### 填充缺失值的方法

在Pandas中,fillna()函数有多种填充缺失值的方法。下面将介绍几种常用的方法:

#### 1. 使用固定值填充缺失值

我们可以使用一个固定的值来填充缺失值,例如使用0来填充:

python

df.fillna(0)

上述代码将把数据集中的所有缺失值都填充为0。

#### 2. 使用前一个非空值填充缺失值

我们可以使用前一个非空值来填充缺失值,这种方法也称为向前填充(forward fill):

python

df.fillna(method='ffill')

上述代码将使用每列中的前一个非空值来填充该列的缺失值。

#### 3. 使用后一个非空值填充缺失值

我们可以使用后一个非空值来填充缺失值,这种方法也称为向后填充(backward fill):

python

df.fillna(method='bfill')

上述代码将使用每列中的后一个非空值来填充该列的缺失值。

#### 4. 使用均值填充缺失值

我们可以使用每列的均值来填充缺失值:

python

df.fillna(df.mean())

上述代码将使用每列的均值来填充该列的缺失值。

### 案例代码

下面是一个完整的案例代码,演示了如何使用Pandas来填充缺失值:

python

import pandas as pd

import numpy as np

data = {'A': [1, np.nan, np.nan, 4, 5],

'B': [6, 7, np.nan, 9, 10],

'C': [11, 12, 13, np.nan, 15]}

df = pd.DataFrame(data)

# 使用固定值填充缺失值

df_filled = df.fillna(0)

print("使用固定值填充缺失值:")

print(df_filled)

# 使用前一个非空值填充缺失值

df_filled = df.fillna(method='ffill')

print("使用前一个非空值填充缺失值:")

print(df_filled)

# 使用后一个非空值填充缺失值

df_filled = df.fillna(method='bfill')

print("使用后一个非空值填充缺失值:")

print(df_filled)

# 使用均值填充缺失值

df_filled = df.fillna(df.mean())

print("使用均值填充缺失值:")

print(df_filled)

运行上述代码,我们可以得到填充后的数据集。通过使用不同的填充方法,我们可以根据具体的需求来选择适合的方法来填充缺失值。

本文介绍了如何使用Pandas来填充缺失值,并且演示了几种常用的填充方法。在实际的数据分析和处理中,填充缺失值是一个必不可少的步骤,通过合理的填充策略,我们可以保证数据的完整性和准确性。