gpt4 book ai didi

python - 根据弃用警告修改 OHLC 重采样代码

转载 作者:太空狗 更新时间:2023-10-29 20:21:10 28 4
gpt4 key购买 nike

问题:

在使用市场数据并将日内数据重新采样到每日时间范围时,如下所示:

ohlc_dict = {
'Open':'first',
'High':'max',
'Low':'min',
'Last': 'last',
'Volume': 'sum'}

data.resample('1D',how=ohlc_dict).tail().dropna()

Open High Last Low Volume
Timestamp
2016-12-27 163.55 164.18 164.11 163.55 144793.00
2016-12-28 164.18 164.33 164.22 163.89 215288.00
2016-12-29 164.44 164.65 164.49 164.27 245538.00
2016-12-30 164.55 164.56 164.18 164.09 286847.00

这似乎给了我我需要的输出(仍然需要验证)......

我收到以下警告:

FutureWarning: how in .resample() is deprecated
the new syntax is .resample(...)..apply(<func>)

问题:

如何使用新语法复制此resample 代码以与使用apply 的当前最佳实践保持一致?

我尝试过的:

以data['Low']为例:

def ohlc (df):
return df['Low'].min()

data.resample('1D').dropna().apply(ohlc,axis=1).tail(2)

Timestamp
2016-12-29 164.45
2016-12-30 164.26
dtype: float64

没有给我相同的结果,我不确定在哪里插入 apply

这是 data 的一部分如果需要,用它来测试:

谢谢

最佳答案

.resample() 的工作方式类似于 groupby,因此您可以将该字典传递给 resample().agg():

df.resample('1D').agg(ohlc_dict).tail().dropna()
Out:
Volume Last High Open Low
Timestamp
2016-12-27 144793.0 164.11 164.18 163.55 163.55
2016-12-28 215288.0 164.22 164.33 164.18 163.89
2016-12-29 245538.0 164.49 164.65 164.44 164.27
2016-12-30 286847.0 164.18 164.56 164.55 164.09

关于python - 根据弃用警告修改 OHLC 重采样代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com