mlo*_*mlo 6 python time-series yahoo-finance pandas
import datetime
import pandas.io.data
sp = pd.io.data.get_data_yahoo('^IXIC',start = datetime.datetime(1972, 1, 3),
end = datetime.datetime(2010, 1, 3))
Run Code Online (Sandbox Code Playgroud)
我已经使用了上面的示例,但是当我想每周拉一次时,它只会将DAILY数据拉入数据帧.它似乎没有get_data_yahoo一个参数,您可以选择从每日,每周或每月,如雅虎本身提供的选项.您知道的任何其他包或想法可能会促进这一点吗?
您可以使用以下asfreq方法进行下采样:
sp = sp.asfreq('W-FRI', method='pad')
Run Code Online (Sandbox Code Playgroud)
该pad方法将向前传播最后一个有效的观察结果。
使用resample(如@tshauck 所示)是另一种可能性。使用asfreq如果你要保证你的下采样值是原始数据集找到的值。使用resample,如果你想从原始数据集的行集合组(例如,通过采取平均值)。reindex如果原始数据集在重新索引指定的日期没有值,则可能会引入 NaN 值——尽管(正如@behzad.nouri 指出的那样)您也可以method=pad在这里传播最后的观察结果。