dataframe 1分钟的K线数据 索引为time和code 根据这个把一分钟的K线合成5分钟的
时间: 2024-02-05 21:12:43 浏览: 137
可以通过`pandas`库进行处理,具体步骤如下:
1. 将时间戳转换为时间序列并设置为索引;
2. 按照股票代码和时间序列进行分组;
3. 对每组数据进行重采样,将一分钟的K线合成5分钟的K线。
以下是实现代码:
```python
import pandas as pd
# 读取数据并设置 time 和 code 为索引
df = pd.read_csv('data.csv', index_col=['time', 'code'])
df.index = pd.to_datetime(df.index)
# 按照股票代码和时间序列进行分组
grouped = df.groupby('code')
# 对每组数据进行重采样
resampled = []
for name, group in grouped:
resampled_group = group.resample('5T').agg({
'open': 'first',
'high': 'max',
'low': 'min',
'close': 'last',
'volume': 'sum',
'amount': 'sum'
})
resampled_group['code'] = name
resampled.append(resampled_group)
# 合并重采样后的数据
result = pd.concat(resampled)
result = result.set_index(['code'], append=True)
```
其中,`resample`函数可以实现重采样,`agg`函数可以对每个时间段的数据进行聚合操作,这里使用的聚合方式是:开盘价取第一个,最高价取最大值,最低价取最小值,收盘价取最后一个,成交量和成交额取总和。
阅读全文