pjd*_*vis 2 python dataframe pandas
我已经创建了每小时空气污染测量的数据框架.我想用月平均值替换一些缺失值.
我从相同的数据中制作了月平均值的数据框:
如何在原始数据框中使用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
Run Code Online (Sandbox Code Playgroud)
然后fillna用groupby和transform('mean')
df.fillna(df.groupby(df.date.dt.month).transform('mean'))
Run Code Online (Sandbox Code Playgroud)