我想获得下面数据帧的每周最高收盘价所以我想根据周对数据帧进行切片并存储在一个数组中日期开高低收01-08-2019 | 97.85 | 98.45 | 96.40 97.2502-08-2019 | 97.15 | 98.95 | 96.75 98.1505-08-2019 | 98.30 | 98.70 | 94.30 95.6506-08-2019 | 95.75 | 97.75 | 95.20 97.0507-08-2019 | 96.80 | 97.70 | 96.05 96.9008-08-2019 | 97.40 | 98.90 | 96.55 97.4009-08-2019 | 97.20 | 98.10 | 96.65 97.3012-08-2019 | 97.20 | 97.25 | 93.40 93.7513-08-2019 | 93.70 | 96.60 | 93.15 96.3514-08-2019 | 95.85 | 96.40 | 94.00 94.45August 01-08-2019 ,02-08-2019 为一周。8 月 05-08-2019、06-08-2019、07-08-2019、08-08-2019、09-08-2019 是第二周我希望数据框中的数据应按周分组。
1 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
要更改基于时间的数据帧的频率,您可以使用该resample
方法。以下代码应该有效:
(
df
.assign(Date=lambda x: pd.to_datetime(x['Date'], dayfirst=True)
.set_index('Date')
.asfreq('D')
.resample('W')
.agg({
'High': 'max',
'Low': 'min',
'Open': lambda x: x.dropna().iloc[0],
'Close': lambda x: x.dropna().iloc[-1]
})
)
添加回答
举报
0/150
提交
取消