小编art*_*eco的帖子

Yahoo Finance API / URL 不起作用:Pandas DataReader 的 Python 修复

:使用熊猫的DataReader的“雅虎”的方法,因为16日2017年我还没有测试此修复程序,雅虎财经雅虎财经URL一直没有访问https://pypi.python.org/pypi/fix-yahoo-finance那昨天刚刚发布,声明:“雅虎财经已停用他们的历史数据 API”。

编辑 2017 年 8 月 2 日:我已经按照https://pypi.python.org/pypi/fix-yahoo-finance 中的步骤操作:$ pip3 install fix_yahoo_finance --upgrade --no-cache-dir,将 pandas_datareader 升级为使用“fix-yahoo-finance 0.0.6”,并修改代码:

from pandas_datareader import data as pdr
import fix_yahoo_finance

data = pdr.get_data_yahoo('AAPL', start='2017-04-23', end='2017-05-24')
Run Code Online (Sandbox Code Playgroud)

请注意,最后 2 个数据列的顺序是“Adj Close”和“Volume”,即。不是以前的格式。出于我的目的,它们只是重置为原始格式:

cols = ['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close']
data.reindex(columns=cols)
Run Code Online (Sandbox Code Playgroud)

python yahoo-finance pandas-datareader

6
推荐指数
1
解决办法
1万
查看次数

在MultiIndex DataFrame中重新采样时间序列

我在MultiIndex DataFrame中有一个带有时间序列数据的层次表-请参阅下面的示例数据-请注意1级索引的填充不均。

我如何对DataFrame进行重新采样,以产生一个每周时间序列,从当前日期开始每周一次向后采样。

我已经尝试过但是失败了:

df.index.levels[0].name = 'date'
df.reset_index().groupby(pandas.Grouper(key='date', freq='W'))
Run Code Online (Sandbox Code Playgroud)

样本数据:

                                Price   Sector
2016-08-08  Equity(24 [AAPL])   107.47  311
            Equity(4151 [JNJ])  124.19  206
            Equity(5061 [MSFT]) 57.95   311
            Equity(8347 [XOM])  87.52   309
            Equity(11100 [BRK_B])   145.52  103
            Equity(16841 [AMZN])    765.87  102
            Equity(26578 [GOOG_L])  806.93  311
            Equity(42950 [FB])  125.11  311
2016-08-09  Equity(24 [AAPL])   108.37  311
            Equity(4151 [JNJ])  123.69  206
            Equity(5061 [MSFT]) 58.06   311
            Equity(8347 [XOM])  88.55   309
            Equity(11100 [BRK_B])   145.45  103
            Equity(16841 [AMZN])    766.56  102
            Equity(26578 [GOOG_L])  805.39  311
            Equity(42950 [FB])  125.26  311
2016-08-10  Equity(24 …
Run Code Online (Sandbox Code Playgroud)

python multi-index dataframe pandas

3
推荐指数
1
解决办法
1582
查看次数

使用 np.polyfit 沿着多项式回归生成的曲线计算并绘制切线

使用 np.polyfit 将曲线拟合到数据系列,并使用 np.polyval 进行评估,绘制为:

在此输入图像描述

如何计算曲线上某点的切线,以及如何使用系列中的 x 和 y 值对沿着曲线的一系列切线进行动画处理?

ps:感谢 James Phillips 的解决方案,多项式曲线上的切线如下所示:

多项式曲线上的切线

x     y
0     21.05
1     21.21
2     20.76
3     20.34
4     20.27
5     20.78
6     20.60
7     20.55
8     19.95
9     19.23
10    19.64
11    19.92
12    19.91
13    19.56
14    19.39
15    19.31
16    19.35
17    18.97
18    18.69
19    19.00
20    19.15
21    19.08
22    18.97
23    19.26
24    19.52
25    19.56
26    19.28
27    19.47
28    19.85
29    19.77
Run Code Online (Sandbox Code Playgroud)

regression matplotlib python-3.x non-linear-regression

3
推荐指数
1
解决办法
8136
查看次数

两种将数组归一化以总计为1.0的方法

我对两种方法感到困惑,在此两种方法中,对数组进行规范化并且其总和必须为1.0:

要标准化的数组:

array([ 1.17091033,  1.13843561,  1.240346  ,  1.05438719,  1.05386014,
        1.15475574,  1.16127814,  1.07070739,  0.93670444,  1.20450255,
        1.25644135])
Run Code Online (Sandbox Code Playgroud)

方法1:

arr = np.array(values / min(values))
array([ 1.25003179,  1.21536267,  1.32415941,  1.12563488,  1.12507221,
        1.23278559,  1.23974873,  1.14305788,  1.00000000,  1.28589392,
        1.34134236])

arr1 = arr / sum(arr) # Sum total to 1.0
array([ 0.09410701,  0.09149699,  0.09968761,  0.08474195,  0.08469959,
        0.09280865,  0.09333286,  0.08605362,  0.07528369,  0.09680684,
        0.1009812 ])
Run Code Online (Sandbox Code Playgroud)

方法2:

arr = np.array((values - min(values)) / (max(values) - min(values)))
array([ 0.73249564,  0.63092863,  0.94966065,  0.3680612,  0.3664128 ,
        0.68197101,  0.70237028,  0.41910379,  0.0000000,  0.83755771,
        1.00000000])

arr2 …
Run Code Online (Sandbox Code Playgroud)

python checksum numpy normalization

1
推荐指数
1
解决办法
4106
查看次数

将相同的元组复制到N.

我有相同的元组(0,1)分配来定义3个输入值的限制:

bounds = ((0, 1), (0, 1), (0, 1))
Run Code Online (Sandbox Code Playgroud)

是否有Pythonic方法为N个输入分配相同的元组?例如:

bounds = ((0, 1), (0, 1), (0, 1), (0, 1), (0, 1), ...Nth(0, 1))
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
169
查看次数