用Python绘制数据时出现问题

2024-10-06 07:52:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序,它将允许我创建一个随机10年间隔股票的折线图。我可以使用pandas将数据放到数据框中,但是当我尝试绘制信息时,它不会拉出任何图形。没有错误,所以我一直在想可能会出什么问题。任何帮助都将不胜感激

import requests
import numpy as np 
from urllib2 import urlopen
import csv
import pandas as pd
from pandas import *
from pandas import DataFrame as df 

import datetime
import pandas.io.data
from random import randint
import matplotlib.pyplot as plt


YahooUrl = 'http://ichart.yahoo.com/table.csv?s='
start_month = 1 - 1
start_day = 1
start_year = 2010

end_month = 12 - 1
end_day = 31
end_year = 2014

Start_ApiMonth = '&a=%s' %(start_month)
Start_ApiDay = '&b=%s' %(start_day)
Start_ApiYear = '&c=%s' %(start_year)

End_ApiMonth = '&d=%s' %(end_month)
End_ApiDay = '&e=%s' %(end_day)
End_ApiYear = '&f=%s' %(end_year)

interval = 'm'

ApiInterval = '&g=%s' %(interval)

ApiStatic = '&ignore=.csv'

Ticker = 'aapl'

Website = urlopen(YahooUrl + Ticker + Start_ApiMonth + Start_ApiDay +     Start_ApiYear + End_ApiMonth + End_ApiDay + End_ApiYear + ApiInterval +  ApiStatic) 

Info = pd.read_csv(Website)
Table = df(Info)

def Interval():
    end = randint(9,len(Table))
    start = end-10
    group = [start]
    while start <= end:
        group.append(start+1)
        start = start + 1
    return group

interval = Interval()

TableGraph = []
TableGraph = Table['Adj Close'][interval]


points = []
for i in interval:
    points.append(Table['Adj Close'][i])

TG = DataFrame(points, index=list('abcdefghijkl'), columns=list('x'))

TG.plot()

print Table 

Tags: csvfromimportpandasastableyearstart