2017-10-18 48 views
-2

我想從Quandl中提取數據,我想爲每行獲取Date和'Open'值(分別)。但是,我不知道我該怎麼做。一直嘗試不同的方法,還沒有解決。下面是一個例子:Python:如何獲得一個特定的列值,而循環通過一行數據

data = quandl.get("EOD/PG", trim_start = "2011-12-12", trim_end = 
"2011-12-30", authtoken=quandl.ApiConfig.api_key) 

data = data.reset_index() 
sta = data[['Date','Open']] 

for row in sta: 
    price = row.iloc[:,1] 
    date = row.iloc[:, 0] 
+0

可能的重複[如何遍歷Pandas中的DataFrame中的行?](https://stackoverflow.com/questions/16476924/how-to-iterate-over-rows-in-a-dataframe-in-熊貓) – Sosel

回答

1

你與你提供通過列名迭代的代碼做什麼,即你'Date'在第一次循環,並'Open'在下一個(也是最後一次)。

要按行遍歷數據框,可以使用.iterrows().iteritems().itertuples()方法中的任何一個。

例如,

for row in data.itertuples(): 
    price = row.Open 
    date = row.Date 

話雖這麼說,通過大熊貓據幀迭代實在是太慢了。機會是,無論你打算做什麼都可以通過利用熊貓的矢量化,即沒有循環,更快地完成。

+0

謝謝。我稍後再看矢量化。但是,如果我可以問一個後續問題:我如何(只)在沒有索引號的情況下獲得價格值。 – MathiasRa

+0

我提供的代碼不是那麼做的嗎? –

+0

你的權利,我犯了一個錯誤。謝謝。 – MathiasRa

相關問題