在特定索引上启动iterrows()循环

时间:2014-04-29 18:39:16

标签: python for-loop pandas indexing dataframe

我正在使用iterrows()对使用时间戳作为索引的数据集进行计算。见下面的例子:

>>> aapl.head()
Date        Open   High    Low  Close    Volume  Adj Close                                                        
1980-12-12  28.75  28.88  28.75  28.75  16751200       3.15
1980-12-15  27.38  27.38  27.25  27.25   6281600       2.99
1980-12-16  25.38  25.38  25.25  25.25   3776000       2.77
1980-12-17  25.88  26.00  25.88  25.88   3087200       2.84
1980-12-18  26.62  26.75  26.62  26.62   2623200       2.92

我计划使用for index in aapl.iterrows()进行计算,但我只查看特定年份内的值,而数据集包含的数据远不止于此。我怎样才能让我的循环开始于特定的索引值(在这​​种情况下是时间戳)并在另一个索引值上结束?

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

大多数python迭代函数都有一个可选的start参数。 DataFrames没有,但DataFrame通常更容易切入。所以我建议切片然后迭代:

for row, value in aapl.loc['1980-12-18':].iterrows():
    # do stuff.

.loc的内容取决于您的需求。您甚至可以使用.ix[<YEAR>],例如.ix['1990']