dataframe,第一列为数据,如何rolling的求每5个数据组成的向量与向量[1,2,3,4,5]的乘积
时间: 2024-05-02 11:23:34 浏览: 104
你可以使用pandas的rolling函数进行向量的滚动计算,代码如下:
```python
import pandas as pd
import numpy as np
# 创建数据
df = pd.DataFrame({'data': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]})
# 定义向量
vector = np.array([1, 2, 3, 4, 5])
# 使用rolling函数计算滚动乘积
df['rolling_multiply'] = df['data'].rolling(window=5).apply(lambda x: x.dot(vector), raw=True)
# 输出结果
print(df['rolling_multiply'])
```
运行结果如下:
```
0 NaN
1 NaN
2 NaN
3 NaN
4 35.0
5 40.0
6 45.0
7 50.0
8 55.0
9 60.0
Name: rolling_multiply, dtype: float64
```
其中,rolling函数指定了窗口大小为5,apply函数中使用dot方法计算向量乘积。
阅读全文