我有一个不断弄乱的脚本,我不确定源是什么。它似乎有时工作而不是其他工作。这是一个例子。
In [29]: pricesEquities=financialMarketPrices['equities'].dropna(axis[0,1],how='all'))
In [30]: pricesEquities.head()
Out[30]:
aud cad chf eur gbp inr jpy sek \
date
2003-01-01 3007.1 6614.54 4630.8 2386.41 3940.4 1100.15 843.29 493.20
2003-01-02 3027.6 6740.05 4630.8 2522.24 4009.5 1093.05 843.29 514.79
2003-01-03 3055.5 6772.66 4899.5 2502.19 4004.9 1089.60 843.29 519.75
2003-01-06 3075.4 6837.27 4916.2 2529.86 4001.4 1084.35 860.07 519.75
2003-01-07 3074.5 6802.78 4887.0 2504.91 3957.4 1081.80 853.93 518.66
usd
date
2003-01-01 879.82
2003-01-02 909.03
2003-01-03 908.59
2003-01-06 929.01
2003-01-07 922.93
In [31]: returnsEquities = pricesEquities.pct_change().iloc[1:]
In [32]: returnsEquities.head()
Out [32]: aud cad chf eur gbp inr jpy sek usd
date
2003-01-02 -1 414.00 NaN 189.23 NaN 145.11 NaN 210.13 NaN
2003-01-03 NaN NaN NaN NaN 0 NaN NaN 217.26 NaN
2003-01-06 NaN NaN NaN NaN 0 NaN 0 NaN 65.33
2003-01-07 NaN 436.00 NaN 191.79 0 146.50 0 NaN 60.63
2003-01-08 NaN 452.67 NaN 188.93 0 147.43 0 214.14 59.13
这很奇怪,老实说我不知道错误的来源是什么。百分比变化函数似乎是它的来源,它有时是有效的,而不是其他看似随机的。有没有其他人之前处理过这样的事情?我的代码有什么内幕或不稳定吗?它还会在代码中的其他地方混乱,但这是最简单的返回计算,它仍然会混乱。有谁知道发生了什么事?
答案 0 :(得分:1)
我确认了这个问题。我遇到了pct_change的问题,看到了这个并检查了我的版本的numexpr,发现它是2.4.4。
为了公平对待pandas和numexpr的开发者,我想我可能试图通过pip而不是通过conda来升级pandas,这可能会导致这些问题。
要解决这个问题,我想在Windows上做了以下几点:
/path/to/Anaconda/Scripts/conda.exe update conda
/path/to/Anaconda/Scripts/conda.exe update anaconda
之后事情似乎正常。
答案 1 :(得分:0)
问题解决了:我们使用的是连续体anaconda,我们认为安装错误。我们重新安装,现在一切似乎都在工作。