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

标签 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

我计划使用 aapl.iterrows() 中的索引进行计算,但我只查看特定年份内的值,并且数据集包含的数据远多于此。我怎样才能让我的循环从一个特定的索引值(即本例中的时间戳)开始并在另一个索引值上结束?

非常感谢您的建议。

最佳答案

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

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

.loc 包含哪些内容取决于你想要什么。您甚至可以使用.ix[<YEAR>] ,例如.ix['1990'] .

关于python - 在特定索引上启动 iterrows() 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23372702/

相关文章:

python - 使用 matplotlib 库绘制列表(不按顺序)时如何纠正 y 间隔?

c - for循环不运行

Cuda 用 2D block 替换 double

python - Pandas pivot_table 多个 aggfunc

python - Python IDE - 为树莓派创建 GUI 应用程序

python - ofono dbus自省(introspection): method not found

python pyodbc查询循环只返回一个结果

python - 检查列的单元格是否以特定字符串开头 [Pandas]

python - 如何根据pandas中的时差为用户设置 session

python - Flask 蓝图中的 render_template 使用其他蓝图的模板