pandas read dataframe and sum all value same month and year
Diego Avesani
diego.avesani at gmail.com
Mon Feb 4 09:50:37 EST 2019
Dear all,
I am reading the following data-frame:
datatime,T,RH,PSFC,DIR,VEL10,PREC,RAD,CC,FOG
2012-01-01 06:00, -0.1,100, 815,313, 2.6, 0.0, 0, 0,0
2012-01-01 07:00, -1.2, 93, 814,314, 4.8, 0.0, 0, 0,0
2012-01-01 08:00, 1.7, 68, 815,308, 7.5, 0.0, 41, 11,0
2012-01-01 09:00, 2.4, 65, 815,308, 7.4, 0.0, 150, 33,0
2012-01-01 10:00, 3.0, 64, 816,305, 8.4, 0.0, 170, 44,0
2012-01-01 11:00, 2.6, 65, 816,303, 6.3, 0.0, 321, 22,0
2012-01-01 12:00, 2.0, 72, 816,278, 1.3, 0.0, 227, 22,0
2012-01-01 13:00, -0.0, 72, 816,124, 0.1, 0.0, 169, 22,0
2012-01-01 14:00, -0.1, 68, 816,331, 1.4, 0.0, 139, 33,0
2012-01-01 15:00, -4.0, 85, 816,170, 0.6, 0.0, 49, 0,0
....
....
I read the data frame as:
df = pd.read_csv('dati.csv',delimiter=',',header=0,parse_dates=True,na_values=-999)
df['datatime'] = df['datatime'].map(lambda x: datetime.strptime(str(x), "%Y-%m-%d %H:%M"))
#
mask = (df['datatime'] > str(start_date[ii])) & (df['datatime'] <= str(end_date[ii]))
df = df.loc[mask]
df = df.reset_index(drop=True)
I would to create an array with the sum of all the PREC value in the same month.
I have tried with:
df.groupby(pd.TimeGrouper('M')).sum()
But as always, it seems that I have same problems with the indexes. Indeed, I get:
'an instance of %r' % type(ax).__name__)
TypeError: axis must be a DatetimeIndex, but got an instance of 'Int64Index'
thanks for any kind of help,
Really Really thanks
Diego
More information about the Python-list
mailing list