python - for 循环列表到数据框
问题描述
对于数据框,我有以下 for 循环
# this is my data
df=yf.download('AAPL', period='max', interval='1d' )
vwap15 = []
for i in range(0,len(df)-1):
if(i>=15):
vwap15.append(sum(df["Close"][i-15:i]*df["Volume"][i-15:i])/sum(df["Volume"][i-15:i]))
else:
vwap15.append(None)
当我创建上面的 for 循环时,它生成了一个列表。
我实际上想将它作为一个数据框,我可以加入我的原始数据框 df
任何见解将不胜感激谢谢
解决方案
也许你的意思是(在循环之后):
df["vwap15"] = vwap15
请注意,您需要for
像这样修复循环(否则长度将不匹配):
for i in range(len(df)):
也许您想看看当前可用的 Python 和 Pandas 技术分析指标包。
此外,在计算时间窗口内的指标时,尝试使用NaN
而不是None
考虑使用Pandas.rolling
方法。
推荐阅读
- jersey - com.sun.jersey.api.container.ContainerException : ResourceConfig 实例不包含任何根资源类
- spring-ws - 使用 wss4jsecurityinterceptor 进行 spring security- 使用两个密钥配置签名和加密的安全性
- android - 如何避免 onError 停止 rxjava 中的异步流
- r - 逻辑语句中的 NA
- git - 如何将公司 Bitbucket 存储库添加到 Jira?
- assembly - 将一个字节压入堆栈(IA32)
- c# - 从 httpcontext 访问 viewcontext
- javascript - 在引导模式中显示 json 数据
- javascript - 如何在书签 JavaScript 中输入换行符
- android - 底部导航抽屉