祝大家新年快乐!
我想这个问题可能很简单,但我无法弄清楚。
如何在 python 中快速将每小时数据转换为 15 分钟的数据桶(见下表)。基本上,左列应该转换为右列。只需复制时间的每小时值并将其转储到新列中即可。
感谢支持!
干杯!
Hourly 15mins
1 28.90 1 28.90
2 28.88 1 28.90
3 28.68 1 28.90
4 28.67 1 28.90
5 28.52 2 28.88
6 28.79 2 28.88
7 31.33 2 28.88
8 32.60 2 28.88
9 42.00 3 28.68
10 44.00 3 28.68
11 44.00 3 28.68
12 44.00 3 28.68
13 39.94 4 28.67
14 39.90 4 28.67
15 38.09 4 28.67
16 39.94 4 28.67
17 44.94 5 28.52
18 66.01 5 28.52
19 49.45 5 28.52
20 48.37 5 28.52
21 38.02 6 28.79
22 34.55 6 28.79
23 33.33 6 28.79
24 32.05 6 28.79
7 31.33
7 31.33
7 31.33
7 31.33
您还可以通过构造新的 DataFrame 并使用 numpy 方法来实现此目的。
import numpy as np
pd.DataFrame(np.column_stack((np.arange(df.shape[0]).repeat(4, axis=0),
np.array(df).repeat(4, axis=0))),
columns=['hours', '15_minutes'])
返回
hours 15_minutes
0 0 28.90
1 0 28.90
2 0 28.90
3 0 28.90
4 1 28.88
5 1 28.88
...
91 22 33.33
92 23 32.05
93 23 32.05
94 23 32.05
95 23 32.05
column_stack
按列附加数组 (index=0)。 np.arange(df.shape[0]).repeat(4, axis=0)
通过重复 0 到 23 四次来获取小时 ID,并且每 15 分钟的值构建在类似的方式。 pd.DataFrame
生成 DataFrame,并添加列名称。
我是一名优秀的程序员,十分优秀!