2016-12-16 327 views

回答

5

考慮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

然後fillnagroupbytransform('mean')

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

enter image description here

+1

基本上,我想提交SAM即但你幾乎總是更快^^ – Quickbeam2k1

+0

完美的作品! – Paulos