我有大小为[1000,50]的表格数据,按照时间序列排列,请用python写出自动提取4个时间步长数据的代码
时间: 2023-05-29 20:01:17 浏览: 42
假设数据存储在名为`data`的二维数组中,第一列为时间序列数据,则可以使用以下代码来自动提取4个时间步长数据:
```python
import numpy as np
data = np.random.rand(1000, 50) # 示例数据,可以替换成自己的数组
# 提取前4个时间步长数据
time_steps = 4 # 设置时间步长
time_step_data = []
for i in range(len(data) - time_steps):
time_step_data.append(data[i:i+time_steps])
# 打印结果
for i in range(4):
print(f'Time step {i}:')
print(time_step_data[i])
```
输出结果如下:
```
Time step 0:
[[0.51420516 0.20357597 0.44939976 ... 0.16716595 0.42500976 0.42102411]
[0.24311675 0.04504964 0.03028791 ... 0.02264847 0.06822176 0.57825716]
[0.85385823 0.36553562 0.10853341 ... 0.06963341 0.41103486 0.60368712]
[0.91123756 0.55809046 0.8803958 ... 0.60035041 0.672522 0.31109503]]
Time step 1:
[[0.24311675 0.04504964 0.03028791 ... 0.02264847 0.06822176 0.57825716]
[0.85385823 0.36553562 0.10853341 ... 0.06963341 0.41103486 0.60368712]
[0.91123756 0.55809046 0.8803958 ... 0.60035041 0.672522 0.31109503]
[0.27811912 0.42705615 0.06585603 ... 0.03297306 0.82439103 0.3220788 ]]
Time step 2:
[[0.85385823 0.36553562 0.10853341 ... 0.06963341 0.41103486 0.60368712]
[0.91123756 0.55809046 0.8803958 ... 0.60035041 0.672522 0.31109503]
[0.27811912 0.42705615 0.06585603 ... 0.03297306 0.82439103 0.3220788 ]
[0.14032814 0.35149226 0.14651821 ... 0.89933029 0.42306226 0.36009049]]
Time step 3:
[[0.91123756 0.55809046 0.8803958 ... 0.60035041 0.672522 0.31109503]
[0.27811912 0.42705615 0.06585603 ... 0.03297306 0.82439103 0.3220788 ]
[0.14032814 0.35149226 0.14651821 ... 0.89933029 0.42306226 0.36009049]
[0.05459288 0.00496843 0.08029515 ... 0.81081165 0.29849869 0.64564899]]
```