python - 问题,新列中的所有行都更改为上次执行的计算结果
问题描述
我是 python 新手并且已经研究过寻找答案,我很可能没有问正确的问题。我正在将数据从交换流式传输到数据帧中,稍后将数据流式传输到数据库中,我的问题是,当我对列进行计算以创建包含结果的新列时,所有行的所有值新列更改为最后一个结果。
我在股票的开盘价、最高价、最低价、收盘价中流动。在一列中,我正在计算时间范围内蜡烛的范围,例如在一小时图上。
src = candles.close
ohlc = candles
ohlc = ohlc.rename(columns=str.lower)
candles['SMA_21'] = TA.SSMA(ohlc, period)
candles['EMA_21'] = TA.EMA(ohlc, period)
candles['WMA'] = TA.WMA(ohlc, 10)
candles['Range'] = src - candles['open']
candles['AvgRange'] = candles['Range'].tail(21).mean()
范围列有效并且具有正确的信息,每次计算都不会改变。但是“AvgRange”列最终会随着计算出的每个新平均值而改变所有值。
以下还将最后一个数据条目写入整个列流['EMA_Dir']
如果流['EMA'].iloc[-1] > 流['EMA'].iloc[-2]:
stream['EMA_Dir'] = "Ascending"
我只想要数据框的最后一个,最新的行中的最后一个条目。
尝试了几件事,但最后一次计算更改了“AvgRange”列中的所有值。
提前致谢。抱歉,如果我没有正确提出问题,但这可能就是我没有找到答案的原因。
解决方案
candles['AvgRange'] = candles[’range’].rolling(
window=3,
center=False
).mean()
这将为您提供 3 行滚动平均值
推荐阅读
- kubernetes - 如何使用每个节点运行一个并使用所有可用资源的 Pod 在 Kubernetes (GKE) 上自动扩展?
- database - 应用范围内关系的用户或用户配置文件模型
- php - 使用 mpdf 时需要设置 HTTP Header 吗?
- c# - 将函数调用作为参数传递给另一个函数时如何解构函数调用
- django-models - 如何解决 slugfield int() 问题
- python - Python填充多边形
- java - 使用 Vertx PG 客户端时出现“查询已在运行”错误
- python - 从 tensorflow 1.x 升级到 2.0
- windows - 为什么 Flutter 在 Windows 上不再被识别以及如何修复它?
- model-view-controller - MVC 控制器中的日期时间格式编辑操作