阅读量:0
fillna()
函数在 Python 数据分析中主要用于处理缺失值(NaN 或 None)
- 填充缺失值:当数据集中存在缺失值时,可以使用
fillna()
函数将这些缺失值替换为特定的值或者基于其他值计算出的值。例如,可以用0、平均值、众数或中位数等填充缺失值。
import pandas as pd # 创建一个包含缺失值的 DataFrame data = {'A': [1, 2, None, 4], 'B': [None, 6, 7, 8]} df = pd.DataFrame(data) # 使用 fillna() 函数填充缺失值 filled_df = df.fillna(0) # 将缺失值替换为 0
- 填充前向值或后向值:在时间序列数据中,可以使用
fillna()
函数填充缺失值,方法是使用前一个有效值(前向填充)或后一个有效值(后向填充)。
import pandas as pd # 创建一个包含缺失值的时间序列数据 data = {'date': pd.date_range('2021-01-01', periods=5), 'value': [1, 2, None, 4, None]} ts = pd.DataFrame(data).set_index('date') # 使用 fillna() 函数进行前向填充和后向填充 ffilled_ts = ts.fillna(method='ffill') # 前向填充 bfilled_ts = ts.fillna(method='bfill') # 后向填充
- 根据条件填充:可以使用
fillna()
函数结合条件逻辑来填充缺失值。例如,可以根据某列的值来决定使用哪个值填充缺失值。
import pandas as pd # 创建一个包含缺失值的 DataFrame data = {'A': [1, 2, None, 4], 'B': [None, 6, 7, 8], 'C': [10, 20, 30, 40]} df = pd.DataFrame(data) # 使用 fillna() 函数根据条件填充缺失值 filled_df = df.fillna(df['C'] / 10) # 将缺失值替换为 C 列对应值除以 10
总之,fillna()
函数在 Python 数据分析中具有广泛的应用场景,可以帮助处理缺失值,从而提高数据质量和分析效果。