如何用fillna函数处理特定类型的缺失值

   2024-09-30 4850
核心提示:fillna() 函数通常用于填充缺失值,例如 NaN(Not a Number)或 None首先,导入所需库并创建一个包含缺失值的 DataFrame:import

fillna() 函数通常用于填充缺失值,例如 NaN(Not a Number)或 None

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

import pandas as pdimport numpy as npdata = {'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  C0  1.0  4.0  71  2.0  NaN  82  NaN  6.0  9

现在,我们将使用 fillna() 函数处理特定类型的缺失值。在这个例子中,我们将用 0 替换所有类型为 float 的缺失值(NaN):

# 使用 fillna() 函数处理特定类型的缺失值filled_df = df.fillna(0, inplace=False)print("填充后的 DataFrame:")print(filled_df)

这将输出以下 DataFrame:

填充后的 DataFrame:     A    B  C0  1.0  4.0  71  2.0  0.0  82  0.0  6.0  9

注意,inplace=False 表示我们不会直接修改原始 DataFrame,而是返回一个新的 DataFrame。如果你希望直接修改原始 DataFrame,可以将 inplace 参数设置为 True

如果你想要基于特定条件填充缺失值,可以使用 fillna() 函数的 method 参数。例如,你可以使用前一个有效值(ffill)或后一个有效值(bfill)来填充缺失值:

# 使用前一个有效值填充缺失值filled_df_ffill = df.fillna(method='ffill', inplace=False)print("使用前一个有效值填充后的 DataFrame:")print(filled_df_ffill)# 使用后一个有效值填充缺失值filled_df_bfill = df.fillna(method='bfill', inplace=False)print("使用后一个有效值填充后的 DataFrame:")print(filled_df_bfill)

这将分别输出以下 DataFrames:

使用前一个有效值填充后的 DataFrame:     A    B  C0  1.0  4.0  71  2.0  4.0  82  2.0  6.0  9使用后一个有效值填充后的 DataFrame:     A    B  C0  1.0  4.0  71  2.0  6.0  82  1.0  6.0  9

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号