2016-12-28 98 views
0

我試圖讓歷史股價數據,所有這些行情可以追溯到2014年前所有這些公司在2014年上市,所以它會自動從他們第一次交易的那一天開始。添加股票價格數據幀列表,讓你有股票價格列表歷史

我想要的是stocklist列表最後包含的是每個公司的數據框/價格歷史列表,但是分開而不是放在一起。

所以stocklist將數據幀/股的歷史記錄,每家公司,即['LC', 'ZAYO']

tickers = ['LC', 'ZAYO', 'GPRO', 'ANET', 'GRUB', 'CSLT', 'ONDK', 'QUOT', 'NEWR', 'ATEN'] 
stocklist = [] 

for i in tickers: 
    stock = Share(i) 
    adj = stock.get_historical('2014-1-1', '2016-12-27') 
    df = pd.DataFrame(adj) 
    df = df.set_index('Date') 
    df['Adj_Close'] = df['Adj_Close'].astype(float, errors='coerce') 
    price = df.sort() 

i = price 
stocklist.append(i) 
+0

解決您的縮進,你的代碼可能工作。 –

回答

1

你不追加到stocklist內循環,由於惡劣的壓痕。

此外,你與循環變量i不必要搞亂。

這可能會實現,但它是困難的,因爲Share類測試是不可用:

tickers = ['LC', 'ZAYO', 'GPRO', 'ANET', 'GRUB', 
      'CSLT', 'ONDK', 'QUOT', 'NEWR', 'ATEN'] 
stocklist = [] 

for ticker in tickers: 
    stock = Share(ticker) 
    adj = stock.get_historical('2014-1-1', '2016-12-27') 
    df = pd.DataFrame(adj) 
    df.set_index('Date', inplace=True) 
    df['Adj_Close'] = df['Adj_Close'].astype(float, errors='coerce') 
    df.sort_index(inplace=True) 
    stocklist.append(df) 

改變我做:

  • 使用tickers作爲變量名稱,而不是list這是內置型
  • 一套指標名稱和排序就地數據幀而不是使副本
  • 以來DataFrame.sort()分揀使用DataFrame.sort_index()已過時
  • 固定縮進所以stocklist填充循環
  • stocklist之前除去不需要的分配附加

它還可能是收集dataframes在字典中更有用的內部由代號鍵控制。所以,你會初始化stocklist = {}和,而不是追加做stocklist[ticker] = df

+0

太好了,非常感謝。實際上,stocklist [ticker] = df更符合我想要做的事情。我真正想要做的就是將調整關閉放在一個數據框中。通過這種方式,我可以1.在所有價格上繪製所有價格,2.查看每次IPO之後的價格變化。我仍然無法弄清楚,所以任何指針都會有幫助! – user7351541