如何结合其他函数使用Python的fillna

avatar
作者
筋斗云
阅读量:0

fillna() 是一个用于填充缺失值(NaN)的函数,通常在 Pandas DataFrame 或 Series 中使用

首先,我们需要导入所需的库并创建一个包含缺失值的示例 DataFrame:

import pandas as pd import numpy as np  data = {'A': [1, 2, np.nan], 'B': [4, np.nan, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) print("原始 DataFrame:") print(df) 

这将输出以下 DataFrame:

原始 DataFrame:      A    B  C 0  1.0  4.0  7 1  2.0  NaN  8 2  NaN  6.0  9 

现在,让我们使用 fillna() 函数填充缺失值。有多种方法可以实现这一点:

  1. 使用特定值填充:
filled_df = df.fillna(value=0) print("使用特定值填充后的 DataFrame:") print(filled_df) 

这将输出以下 DataFrame:

使用特定值填充后的 DataFrame:      A    B  C 0  1.0  4.0  7 1  2.0  0.0  8 2  0.0  6.0  9 
  1. 使用前一个值填充:
filled_df = df.fillna(method='ffill') print("使用前一个值填充后的 DataFrame:") print(filled_df) 

这将输出以下 DataFrame:

使用前一个值填充后的 DataFrame:      A    B  C 0  1.0  4.0  7 1  2.0  4.0  8 2  2.0  6.0  9 
  1. 使用后一个值填充:
filled_df = df.fillna(method='bfill') print("使用后一个值填充后的 DataFrame:") print(filled_df) 

这将输出以下 DataFrame:

使用后一个值填充后的 DataFrame:      A    B  C 0  1.0  4.0  7 1  2.0  6.0  8 2  1.0  6.0  9 
  1. 使用平均值、中位数或众数等统计方法填充:
filled_df = df.fillna(df.mean()) print("使用平均值填充后的 DataFrame:") print(filled_df)  filled_df = df.fillna(df.median()) print("使用中位数填充后的 DataFrame:") print(filled_df)  filled_df = df.apply(lambda x: x.fillna(x.mode().iloc[0])) print("使用众数填充后的 DataFrame:") print(filled_df) 

这些示例展示了如何结合其他函数使用 fillna() 来填充 DataFrame 中的缺失值。您可以根据需求选择适当的填充方法。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!