小编see*_*emo的帖子

使用Pandas重新采样然后填充原始数据帧

我基于一周的收盘价和下周的开盘价来调查市场统计数据.要做到这一点我resample在熊猫中使用.为了给出一个例子,我在下面使用pandas DataReader.

from pandas.io.data import DataReader
Run Code Online (Sandbox Code Playgroud)

首先得到每日市场数据:

SP = DataReader("^GSPC", "yahoo") 
del SP['Adj Close'] 
del SP['Volume'] 

SP.head()

              Open       High         Low       Close
Date                
2010-01-04  1116.560059 1133.869995 1116.560059 1132.989990
2010-01-05  1132.660034 1136.630005 1129.660034 1136.520020
Run Code Online (Sandbox Code Playgroud)

现在resample到每周时间表:

ohlc_dict = {                                                                                                             
'Open':'first',                                                                                                                                                                                                         
'Close': 'last'}
w1_resamp = SP.resample('1w',how=ohlc_dict, closed='left', label='left')
Run Code Online (Sandbox Code Playgroud)

这给了我每周关闭和打开的数据.我现在根据声明突出显示上周和本周开盘之间的距离np.where.

w1_resamp['distance'] = np.where(w1_resamp['Open'] < w1_resamp['Close'].shift(),(w1_resamp["Close"].shift() - w1_resamp["Open"]),'np.nan'); 



               Close    Open        distance
Date            
2010-01-03  1144.979980 1116.560059 
2010-01-10  1136.030029 1145.959961 
2010-01-17  1091.760010 1136.030029 
2010-01-24  1073.869995 1092.400024 
2010-01-31  1066.189941 1073.890015 
2010-02-07  1075.510010 1065.510010 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

pandas ×1

python ×1