我有以下每小時解析度的資料框
day_ahead_DK1
Out[27]:
DateStamp DK1
0 2017-01-01 20.96
1 2017-01-01 20.90
2 2017-01-01 18.13
3 2017-01-01 16.03
4 2017-01-01 16.43
... ...
8756 2017-12-31 25.56
8757 2017-12-31 11.02
8758 2017-12-31 7.32
8759 2017-12-31 1.86
type(day_ahead_DK1)
Out[28]: pandas.core.frame.DataFrame
但是當前列DateStamp缺少小時數。我怎樣才能為 Index添加小時00:00:00,所以它會是,然后,添加到Index所以它會是,等等,這樣我所有的日子都會有從 0 到 23 的小時數。謝謝!2017-01-0102017-01-01 00:00:0001:00:002017-01-0112017-01-01 01:00:00
預期輸出:
day_ahead_DK1
Out[27]:
DateStamp DK1
0 2017-01-01 00:00:00 20.96
1 2017-01-01 01:00:00 20.90
2 2017-01-01 02:00:00 18.13
3 2017-01-01 03:00:00 16.03
4 2017-01-01 04:00:00 16.43
... ...
8756 2017-12-31 20:00:00 25.56
8757 2017-12-31 21:00:00 11.02
8758 2017-12-31 22:00:00 7.32
8759 2017-12-31 23:00:00 1.86
uj5u.com熱心網友回復:
使用GroupBy.cumcount與反to_timedelta了幾個小時,并添加到DateStamp列:
df['DateStamp'] = pd.to_datetime(df['DateStamp'])
df['DateStamp'] = pd.to_timedelta(df.groupby('DateStamp').cumcount(), unit='H')
print (df)
DateStamp DK1
0 2017-01-01 00:00:00 20.96
1 2017-01-01 01:00:00 20.90
2 2017-01-01 02:00:00 18.13
3 2017-01-01 03:00:00 16.03
4 2017-01-01 04:00:00 16.43
8756 2017-12-31 00:00:00 25.56
8757 2017-12-31 01:00:00 11.02
8758 2017-12-31 02:00:00 7.32
8759 2017-12-31 03:00:00 1.86
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/366588.html
