【发布时间】:2017-03-27 01:16:33
【问题描述】:
使用 pandas 数据框,我能够访问来自 yahoo Finance 的股票数据。我设法按月组织它,因为我试图查看股票在多年期间给定月份的表现。具体来说,给定月份在此期间有多少次价格出现正增长(如果价格在 12 月份总是上涨,我希望看到发生的百分比和数量)。我目前正在使用一只股票“MSFT”进行测试,但理想情况下它会分析更多。我的问题:我似乎无法为此目的访问数据框中的数据。
代码如下:
from datetime import datetime
import pandas_datareader.data as web
import pandas as pd
from pandas.tseries.offsets import CustomBusinessMonthBegin
input_file = ['MSFT']
money_list = []
for ticker in input_file:
data = web.DataReader(ticker, "yahoo", datetime(2014,1,1), datetime(2015,12,31))
monthly_data = data.index.to_period('M')
min_day_in_month_index = pd.to_datetime(data.set_index(monthly_data, append=True).reset_index(level=0).groupby(level=0)['Open'].min())
custom_month_starts = CustomBusinessMonthBegin(calendar = min_day_in_month_index)
site_dict = {'Open':'first','High':'max','Low':'min','Close': 'last','Volume': 'sum','Adj Close': 'last'}
mthly_results = data.resample(custom_month_starts, how=site_dict)
month = { 0:'JAN', 1:'FEB', 2:'MAR', 3:'APR', 4:'MAY',5:'JUN', 6:'JUL', 7:'AUG', 8:'SEP', 9:'OCT',10:'NOV', 11:'DEC' }
print mthly_results
【问题讨论】:
-
您是否收到错误消息?如果是这样,错误是什么?
-
@Tadhg McDonald-Jensen 没有错误,只是想不通。
-
我理解你的问题的方式是“我从网络上正确获取了数据,我将数据处理成我想要的形式,然后我无法用它做任何事情” i> 这没有多大意义。你具体想做什么?
-
我似乎无法在数据框中(或任何其他月份)隔离一月的所有月份。
-
我想获取每个月的类型(1 月、2 月等),看看每个月在 2 年的时间范围内的表现。
标签: python pandas dataframe yahoo