2017-01-12 177 views
1

我试图创建一个for循环,自动运行我的解析列表中的纳斯达克股票,并插入他们的Quandl代码,然后从Quandl的数据库中检索。从本质上创建一个大型的股票数据集来进行数据分析。我的代码“出现”是正确的,但是当我打印查询时,它只打印“GOOG/NASDAQ_Ticker”,没有别的。任何帮助和/或建议将不胜感激。For循环问题Quandl - Python

import quandl 
import pandas as pd 
import matplotlib.pyplot as plt 
import numpy 

def nasdaq(): 
    nasdaq_list = pd.read_csv('C:\Users\NAME\Documents\DATASETS\NASDAQ.csv') 
    nasdaq_list = nasdaq_list[[0]] 
    print nasdaq_list 

    for abbv in nasdaq_list: 
     query = 'GOOG/NASDAQ_' + str(abbv) 
     print query 

    df = quandl.get(query, authtoken="authoken") 
    print df.tail()[['Close', 'Volume']] 

回答

0

迭代一个pd.DataFrame因为你已经通过列进行迭代。例如,

>>> df = pd.DataFrame(np.arange(9).reshape((3,3))) 
>>> df 
    0 1 2 
0 0 1 2 
1 3 4 5 
2 6 7 8 
>>> for i in df[[0]]: print(i) 
0 

我只想得到第一列与.ix一个系列,

>>> for i in df.ix[:,0]: print(i) 
0 
3 
6 

注意,一般来说,如果你想通过排过你正在寻找一个iterrows()数据帧进行迭代。

+0

谢谢。我能够返回正确的值。 :) –

+0

@RaviSingh不客气! – miradulo