我正在撰寫一些將重新排列時間序列的代碼。目前我有一個標準的時間序列。我有一個三列,標題為 [日期、時間、值]。我想重新格式化資料框以使用日期索引并使用帶有時間的標題(即 0:00、1:00、...、23:00)。資料框將填充該值。
這是當前擁有的資料框


基本上我想將索引移動到一天并通過列顯示小時數。
謝謝,
uj5u.com熱心網友回復:
使用pivot:
df = df.pivot(index='Date', columns='Time', values='Total')
輸出(前 10 列,隨機值為Total):
>>> df.pivot(index='Date', columns='Time', values='Total').iloc[0:10]
time 00:00:00 01:00:00 02:00:00 03:00:00 04:00:00 05:00:00 06:00:00 07:00:00 08:00:00 09:00:00
date
2019-01-01 0.732494 0.087657 0.930405 0.958965 0.531928 0.891228 0.664634 0.432684 0.009653 0.604878
2019-01-02 0.471386 0.575126 0.509707 0.715290 0.337983 0.618632 0.413530 0.849033 0.725556 0.186876
uj5u.com熱心網友回復:
你可以試試這個。拆分時間部分以僅獲得小時。添加hr到它。
df = pd.DataFrame([['2019-01-01', '00:00:00',-127.57],['2019-01-01', '01:00:00',-137.57],['2019-01-02', '00:00:00',-147.57],], columns=['Date', 'Time', 'Totals'])
df['hours'] = df['Time'].apply(lambda x: 'hr' str(int(x.split(':')[0])))
print(pd.pivot_table(df, values ='Totals', index=['Date'], columns = 'hours'))
輸出
hours hr0 hr1
Date
2019-01-01 -127.57 -137.57
2019-01-02 -147.57 NaN
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443609.html
