Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Numpy创建雅虎财务价格表_Python_Url_Numpy - Fatal编程技术网

Python 使用Numpy创建雅虎财务价格表

Python 使用Numpy创建雅虎财务价格表,python,url,numpy,Python,Url,Numpy,不使用matplotlib财务模块。我喜欢将url数据放入numpy数组。 在那里我可以到列标题做数学。比如: prices = r.adj_close 发件人: 除了我不想使用: fh = finance.fetch_historical_yahoo(ticker, startdate, enddate) # a numpy record array with fields: date, open, high, low, close, volume, adj_close) r = mla

不使用matplotlib财务模块。我喜欢将url数据放入numpy数组。 在那里我可以到列标题做数学。比如:

prices = r.adj_close
发件人:

除了我不想使用:

fh = finance.fetch_historical_yahoo(ticker, startdate, enddate)
# a numpy record array with fields: date, open, high, low, close, volume, adj_close)

r = mlab.csv2rec(fh); fh.close()
r.sort()
使用手动创建url:

        url = http://ichart.yahoo.com/table.csv?a=2&c=2011&b=30&e=7&d=7&g=d&f=2011&s=msft&ignore=.csv

        f = urllib.urlopen(url)
        fr = f.read()



        hdata = np.asarray(fr, dtype='object')
        prices = hdata.adj_close
        print prices
使用numpy.loadtxt()加载csv:

import numpy as np
import pylab as pl
import urllib
url = "http://ichart.yahoo.com/table.csv?a=2&c=2011&b=30&e=7&d=7&g=d&f=2011&s=msft&ignore=.csv"
f = urllib.urlopen(url)
title = f.readline().strip().split(",")
data = np.loadtxt(f, dtype=np.float, delimiter=",", converters={0: pl.datestr2num}))

第一列是日期,因此使用pylab.datestr2num将其转换为数字。

使用numpy.loadtxt()加载csv:

import numpy as np
import pylab as pl
import urllib
url = "http://ichart.yahoo.com/table.csv?a=2&c=2011&b=30&e=7&d=7&g=d&f=2011&s=msft&ignore=.csv"
f = urllib.urlopen(url)
title = f.readline().strip().split(",")
data = np.loadtxt(f, dtype=np.float, delimiter=",", converters={0: pl.datestr2num}))

第一列是日期,因此使用pylab.datestr2num将其转换为数字。

如果不想加载
pylab
进行时间字符串转换,可以使用
mktime
函数作为lambda:

import numpy as np
import urllib
import time 
url = "http://ichart.yahoo.com/table.csv?a=2&c=2011&b=30&e=7&d=7&g=d&f=2011&s=msft&ignore=.csv" 
f = urllib.urlopen(url) 
title = f.readline().strip().split(",") 
data = np.loadtxt(f, dtype={'names': ('dtime', 'open', 'high','low','close','volume','aclose'),
                            'formats': ('u4', 'f8', 'f8','f8','f8','u4','f8')}, 
                     delimiter=",", 
                     converters={0: lambda y:int(time.mktime(time.strptime(y,'%Y-%m-%d')))})

如果不想为时间字符串转换加载
pylab
,可以将
mktime
函数用作lambda:

import numpy as np
import urllib
import time 
url = "http://ichart.yahoo.com/table.csv?a=2&c=2011&b=30&e=7&d=7&g=d&f=2011&s=msft&ignore=.csv" 
f = urllib.urlopen(url) 
title = f.readline().strip().split(",") 
data = np.loadtxt(f, dtype={'names': ('dtime', 'open', 'high','low','close','volume','aclose'),
                            'formats': ('u4', 'f8', 'f8','f8','f8','u4','f8')}, 
                     delimiter=",", 
                     converters={0: lambda y:int(time.mktime(time.strptime(y,'%Y-%m-%d')))})

也可以使用
S10
告诉numpy第一个实体是长度为10的字符串。这样,您就不需要使用lambda

data = np.loadtxt(f, dtype={'names': ('dtime', 'open', 'high','low','close','volume','aclose'), 'formats': ('S10', '<f8', '<f8','<f8','<f8','i','<f8')}, 
                             delimiter="," )

i=integer, <f8 =0.256, f8=0.25600001298, S10="MM-DD-YYYY"

data=np.loadtxt(f,dtype={'names':('dtime','open','high','low','close','volume','aclose'),'formats':('S10','p>也可以使用
S10
告诉numpy第一个实体是长度为10的字符串。这样,就不需要使用lambda

data = np.loadtxt(f, dtype={'names': ('dtime', 'open', 'high','low','close','volume','aclose'), 'formats': ('S10', '<f8', '<f8','<f8','<f8','i','<f8')}, 
                             delimiter="," )

i=integer, <f8 =0.256, f8=0.25600001298, S10="MM-DD-YYYY"

data=np.loadtxt(f,dtype={'names':('dtime','open','high','low','close','volume','aclose'),'formats':('S10','阅读问题。我喜欢将url数据放入numpy数组。您现在的代码有什么不起作用?错误消息是什么?如果是问题,请将其表述为问题。您的帖子中没有问题。阅读问题。我喜欢将url数据放入numpy数组。您现在的代码有什么不起作用?什么错误消息是什么?如果是问题,请将其表述为问题。您的帖子中没有问题。“pylab.datestr2num将其转换为数字”?有没有办法保持为日期。我不知道你为什么要更改它。我需要日期作为日期。还有,我该如何做prices=data.adj_close?literals,prob,我明白了。也许可以使用date作为对象。prices=data[:,6]或prices=data[:,title.index(“adj close”)],因为用数字计算比用日期容易,你可以使用pl.num2date()当您想要输出时,将数字转换回日期对象。尝试使用上述方法将np数组插入Mysql。不起作用。当使用列表(f)起作用时,但当我尝试在Mysql中使用数组时,它有一个问题…我需要做什么转换才能插入数据库。“pylab.datestr2num将其转换为数字”?有没有办法保持为日期。我不知道你为什么要更改它。我需要日期作为日期。还有,我该如何做prices=data.adj_close?literals,prob,我明白了。也许可以使用date作为对象。prices=data[:,6]或prices=data[:,title.index(“adj close”)],因为用数字计算比用日期容易,你可以使用pl.num2date()当您想要输出时,将数字转换回最新对象。尝试使用上述方法将np数组插入Mysql。不起作用。当使用列表(f)时,它起作用,但当我尝试使用数组插入Mysql时,它有一个问题…我需要做什么转换才能插入数据库。