[英]Creating new columns at 15 minute time interval
我有一個熊貓數據框df,如下所示。
Date Hour Minute Val
2017-03-01 0 0 126
2017-03-01 0 15 119
2017-03-01 0 30 110
2017-03-01 0 45 56
2017-03-01 1 0 70
2017-03-01 1 15 59
2017-03-01 1 30 50
2017-03-01 1 45 41
2017-03-01 2 0 56
2017-03-01 2 15 63
2017-03-01 2 30 53
2017-03-01 2 45 66
2017-03-01 3 0 64
2017-03-01 3 15 78
2017-03-01 3 30 81
2017-03-01 3 45 79
我必須每隔15分鍾用“ Val”列的值用新列填充數據框。 我想要的輸出應如下所示
Date Hour Minute Val T-30 T-15 T T15 T30 T45
2017-03-01 0 0 126 Na Na 126 119 110 56
2017-03-01 0 15 119 Na 126 119 110 56 70
2017-03-01 0 30 110 126 119 110 56 70 59
2017-03-01 0 45 56 119 110 56 70 59 50
2017-03-01 1 0 70 110 56 70 59 50 41
2017-03-01 1 15 59 56 70 59 50 41 56
2017-03-01 1 30 50 70 59 50 41 56 63
2017-03-01 1 45 41 59 50 41 56 63 53
2017-03-01 2 0 56 50 41 56 63 53 66
2017-03-01 2 15 63 41 56 63 53 66 64
2017-03-01 2 30 53 56 63 53 66 64 78
2017-03-01 2 45 66 63 53 66 64 78 81
2017-03-01 3 0 64 53 66 64 78 81 79
2017-03-01 3 15 78 66 64 78 81 79 Na
2017-03-01 3 30 81 64 78 81 79 Na Na
2017-03-01 3 45 79 78 81 79 Na Na Na
我嘗試過旋轉原始數據幀以實現所需的輸出,但是該輸出與上述所需的輸出看起來不一樣。
df = df.pivot_table(index=['Date','Hour'], columns='Minute', values='Val').reset_index()
df.columns = ['Date', 'hour', 'T', 'T15', 'T30', 'T45']
上面代碼的輸出如下所示。
Date hour T T15 T30 T45
2019-03-01 0 126 119 110 56
2019-03-01 1 70 59 50 41
2019-03-01 2 56 63 53 66
2019-03-01 3 64 78 81 79
我以某種方式無法旋轉保留分鍾和值列以及添加T-15和T-30的表格。
我該如何做呢? 我是python的新手。 任何建議都很好。 提前致謝。
你可以做shift
s=pd.concat([df.Val.shift(x) for x in l],axis=1,keys=['T'+str(-x*15)for x in l])
df=pd.concat([df,s],axis=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.