Python Forum

Full Version: Create a monthly mean column in multiple years
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a 'dates' column and a 'tmax' (temperature values) column. I want to create one another column that shows each month's average in each year. I tried
    df['date']=pd.date_range(start='1/01/1980', end='31/12/2015')
    #df['date'] = df['date'].dt.strftime('%d-%b-%Y') format of date
    df['means'] = df.resample('M', on='date').mean()
I have got
ValueError: Wrong number of items passed 4, placement implies 1

Sample values are below:
date tmax
1-Jan-80 15.773
2-Jan-80 18.342
...
30-Jan-80 15.851
31-Jan-80 11.962
...
1-Dec-80 15.773
2-Dec-80 18.342
...
30-Dec-80 15.851
31-Dec-80 11.962
1-Jan-81 15.773
2-Jan-81 18.342
...
30-Jan-81 15.851
31-Jan-81 11.962
...
1-Dec-2015 15.773
2-Dec-2015 18.342
...
30-Dec-2015 15.851
31-Dec-2015 11.962
grouper = pd.Grouper(key='date', freq='M')
df.groupby(grouper).mean() # df.groupby(grouper).tmax.mean()