python - 使用月平均值的 Pandas fillna 缺失小时时间点数据的方法

标签 python pandas dataframe

我创建了一个每小时空气污染测量数据框。我想用月平均值替换一些缺失值。

enter image description here

我根据相同的数据制作了月平均值的数据框:

enter image description here

如何在我的原始数据框上使用 fillna 方法用各自月份的平均值填充缺失数据?

最佳答案

考虑df

df = pd.DataFrame(dict(
        date=pd.date_range('2015-04-01', periods=9, freq='5B'),
        ozone=np.random.rand(9) * np.random.choice((1, np.nan), 9, p=(.6, .4)),
        nox=np.random.rand(9) * np.random.choice((1, np.nan), 9, p=(.6, .4)),
    ))
df

enter image description here

然后 fillna 使用 groupbytransform('mean')

df.fillna(df.groupby(df.date.dt.month).transform('mean'))

enter image description here

关于python - 使用月平均值的 Pandas fillna 缺失小时时间点数据的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41182300/

相关文章:

python - 重命名 Pandas 数据框中的选定列

python - 转换小数点分隔符

python - 分配唯一年月组合的计数

python - 通过 Tkinter 关闭/打开绘图

python - 使用 jwt_required 添加资源?

json - 如何修复 `` `ValueError : Trailing data ``` during `` `pandas. read_json(... )`` `?

python - 使用 python 和 pandas 将错误创建的大型 csv 文件转换为制表符分隔文件

python - pandas DataFrame 从 MultiIndex 日期索引中获取每年的第一天

python - 将 bash 脚本转换为 python 的问题

python - IRC 机器人功能