我正在使用pandas远程数据函数制作一个投资组合跟踪器,但是,在传递多个股票名称和股票代码时遇到了一个问题。在
我想按公司名称创建单独的数据帧,并尝试使用**kwargs
,但对其工作原理有点模糊。在
我想我离得很近,但在某个地方遗漏了一些东西。在
def portfolio(startDateYE, startDateMonth, startDateDay, end_dateYE,
end_dateMonth, end_dateDay, **kwargs):
'''insert desired started and ending date as 2014,1,1 and key value pairs
of the stock you would like to look up, i.e. ford = "f" '''
start = datetime.datetime(startDateYE, startDateMonth, startDateDay)
end = datetime.datetime(end_dateYE, end_dateMonth, end_dateDay)
for key, value in kwargs.items():
key = web.DataReader("%s" % value,'yahoo', start, end)
我如何传入变量的可变量的示例:
^{pr2}$我的目标是:
In [6]: ford.ix['2010-01-04']
Out[6]:
Open 1.017000e+01
High 1.028000e+01
Low 1.005000e+01
Close 1.028000e+01
Volume 6.085580e+07
Adj Close 8.755953e+00
Name: 2010-01-04 00:00:00, dtype: float64
编辑时间:
def portfolio(startDateYE, startDateMonth, startDateDay, end_dateYE,
end_dateMonth, end_dateDay, **kwargs):
'''insert desired started and ending date as 2014,1,1 and key value pairs
of the stock you would like to look up, i.e. ford = "f" '''
start = datetime.datetime(startDateYE, startDateMonth, startDateDay)
end = datetime.datetime(end_dateYE, end_dateMonth, end_dateDay)
results = {} # this is an empty dictionary
for key, value in kwargs.iteritems():
results[key] = web.DataReader(value, key, 'yahoo', start, end)
print(results)
编辑:
现在我得到以下错误:
`---------------------------------------------------------------------------
ValueError回溯(最近一次调用) 在() 34英寸' 35 --->;36个投资组合(2012,1,12013,1,1,facebook=“f”,google=“googl”) 37 38#调整后的_f=f[“Adj Close”]
投资组合(startDateYE,startDateMonth,startDateDay,end-dateYE,end-dateMonth,end-dateDay,**kwargs) 27 results={}这是一个空字典 28键,值输入夸格斯.iteritems(): --->;29个结果[关键]=web.DataReader(value,key,'yahoo',开始,结束) 30 31英寸'
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/io/数据.pyc在DataReader中(名称、数据源、开始、结束、重试计数、暂停) 86 ff=数据读取器(“F-F”反转系数,“famafrench”) 87英寸 --->;88开始,结束=清理日期(开始,结束) 89 90如果数据源==“yahoo”:
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/io/数据.pyc清理日期(开始、结束) 104定义消毒日期(开始、结束): 105来自pandas.core.datetools导入到日期时间 -->;106开始=结束日期时间(开始) 107结束=结束日期时间(结束) 108如果start为“无”:
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/util/装饰工.pyc包装内(*args,**kwargs) 89其他: 90千瓦[new_arg_name]=新的_arg_值 --->;91返回函数(*args,**kwargs) 92退货包装 93退货
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在“截止日期时间”(arg、errors、dayfirst、yearfirst、utc、box、format、exact、force、unit、infer_datetime_格式) 285 yearfirst=第一年, 286 utc=utc,方框=方框,格式=格式,精确=精确, -->;287单位=单位,推断日期时间格式=推断日期时间格式) 288 289个
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在“到”日期时间(arg、errors、dayfirst、yearfirst、utc、box、format、exact、unit、freq、推断日期时间格式) 414 return_convert_listlike(参数、框、格式) 415 -->;416 return转换列表(np.数组([arg]),框,格式[0] 417 418年
/Users/andrewclark/anaconda2/lib/python2.7/site-packages/pandas/tseries/工具.pyc在转换列表中(参数、框、格式、名称) 400返回DatetimeIndex.\u simple\u new(值,name=name,tz=tz) 401除(ValueError,TypeError): -->;402升起e 403 404如果arg为None:
值错误:未知的字符串格式
谢谢你!在
问题是您一直覆盖键值,所以实际上只保存最后一个数据集。在
应该分别跟踪关键点及其结果,如下所示:
相关问题 更多 >
编程相关推荐