python - pandas minute data column to 60 minute columns -
i've seen related topics using transposition or pivot, can't make work. i've got data frame 2 columns, timestamp , minute-like data.
i want transpose data frame end 61 columns, follows;
old df looks like
date value 0 2017-01-01 16:45 12 1 2017-01-01 16:46 22 ... ... n 2017-03-01 11:45 12
i want new df be
dayhour ... minute45 minute46 ... 0 2017-01-01 16 ... 12 22 ... ... ... ... ... ... n 2017-03-01 11 ... 12 ... ...
i somehow managed via groupby , loop on 60 minutes, wonder if there more compact way of doing this.
you can create new columns dayhour , minute , pivot table.
df.assign(dayhour = df.date.dt.floor('h'), minute=df.date.dt.minute)\ .pivot(index='dayhour', columns='minute', values='value')\ .add_prefix('minute') minute minute45 minute46 dayhour 2017-01-01 16:00:00 12.0 22.0 2017-03-01 11:00:00 12.0 nan
Comments
Post a Comment