我正在尝试滚动计算体积加权平均价格。
为此,我有一个函数vwap可以为我执行此操作,如下所示:
def vwap(bars):
return ((bars.Close*bars.Volume).sum()/bars.Volume.sum()).round(2)
如图所示,当我尝试将此函数与rolling_apply一起使用时,出现错误:
import pandas.io.data as web
bars = web.DataReader('AAPL','yahoo')
print pandas.rolling_apply(bars,30,vwap)
AttributeError: 'numpy.ndarray' object has no attribute 'Close'
该错误对我来说很有意义,因为rolling_apply不需要DataSeries或ndarray作为输入,也不需要dataFrame。
有没有一种方法可以将rolling_apply应用于DataFrame以解决我的问题?
这不是直接启用的,但是您可以这样做
In [29]: bars
Out[29]:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 942 entries, 2010-01-04 00:00:00 to 2013-09-30 00:00:00
Data columns (total 6 columns):
Open 942 non-null values
High 942 non-null values
Low 942 non-null values
Close 942 non-null values
Volume 942 non-null values
Adj Close 942 non-null values
dtypes: float64(5), int64(1)
window=30
In [30]: concat([ (Series(vwap(bars.iloc[i:i+window]),
index=[bars.index[i+window]])) for i in xrange(len(df)-window) ])
Out[30]:
2010-02-17 203.21
2010-02-18 202.95
2010-02-19 202.64
2010-02-22 202.41
2010-02-23 202.19
2010-02-24 201.85
2010-02-25 201.65
2010-02-26 201.50
2010-03-01 201.31
2010-03-02 201.35
2010-03-03 201.42
2010-03-04 201.09
2010-03-05 200.95
2010-03-08 201.50
2010-03-09 202.02
...
2013-09-10 485.94
2013-09-11 487.38
2013-09-12 486.77
2013-09-13 487.23
2013-09-16 487.20
2013-09-17 486.09
2013-09-18 485.52
2013-09-19 485.30
2013-09-20 485.37
2013-09-23 484.87
2013-09-24 485.81
2013-09-25 486.41
2013-09-26 486.07
2013-09-27 485.30
2013-09-30 484.74
Length: 912
我在Microsoft Windows7上使用的是。我想在一个变量中加载csv文件,以便稍后执行与SQL相关的操作,但无法这样做。我从这个链接引用了公认的答案,但没有用。我按照以下步骤创建对象和对象: 当我尝试时,它会说没有找到df。我尝试了从附加链接加载CSV的databricks解决方案。它下载软件包,但不加载csv文件。那么我怎样才能纠正我的问题呢?提前致谢:)
此pandas python代码生成错误消息, “TypeError:一元~:'float'的操作数类型错误” 我不知道为什么,因为我试图操纵一个str对象
问题内容: 与brnwdrng的问题类似,我正在寻找一种搜索类似于JSON的对象的方法。假设我对象的结构是这样的: 我想获得一个id =“ A”的对象。 我已经尝试过各种方法,例如: 但似乎没有任何效果。 任何人都可以想到一种无需使用“每个”即可根据某些条件检索项目的方法吗? 问题答案: jQuery不适用于普通对象文字。您可以类似的方式使用以下函数来搜索所有“id”(或任何其他属性),而不管其在
我在运行时得到这个nullPointerException: 原因:java.lang.NullPointerException:试图对空对象引用调用虚拟方法“void android.app.actionbar.SetDisplayHomeasUpenabled(boolean)” 来自MainActivity的代码: 出现问题的代码行是: 我使用:style name=“AppTheme”pa
问题内容: 是否可以使用addJavascriptInterface()将JavaScript对象从JavaScript传递到Java?遵循以下原则: 在Java端如何捕获这样的调用?我将接口设置为发送字符串没有问题,但是当我发送对象时,在Java端会收到null。 问题答案: AFAIK 仅适用于基本类型和字符串,因此您不能传递任意Javascript对象。
问题内容: 嗨,我将以下结构嵌套在一个更大的结构中,该结构是通过api调用返回的,但是我无法对这部分进行编码/解码。我遇到的问题是customKey和customValue都是动态的。 我尝试了类似的操作,但是显然不起作用,因为它实际上不是的数组。 问题答案: 由于您将我的答案链接到另一个问题,因此我将扩展该问题以回答您的问题。 事实是,如果您知道要查找的位置,那么所有键在运行时都是已知的: 用法