【问题标题】:Access previous row while iterating on rows of a dataframe using iterrows使用 iterrows 在数据帧的行上迭代时访问上一行
【发布时间】:2021-08-05 04:49:16
【问题描述】:

我正在使用 iterrows 遍历数据框的行:

for index, row in df.iterrows():
    pass

鉴于此处的索引包含日期时间对象,我们如何在级别索引 (i) 的同时轻松访问前一个索引 (i-1) 处的行?

谢谢

【问题讨论】:

标签: python pandas


【解决方案1】:

你可以试试下面

row_ = None
for index, row in df.iterrows():
    # processing logic here (use row_ as prev row and "row" as current)
    row_ = row

row_ 如果索引为 0,则为 None,否则为前一行。 此逻辑适用于任何索引类型

【讨论】:

  • 是一种类型。修复它:P。其他简单的方法是使用 row_ 初始化为 None 外循环,使用后,您可以将 row_ 设置为循环结束时的行
  • 事实上 df.iloc[index-1] 在我的索引中不起作用是日期时间而不是整数
  • 已编辑,它应该适用于任何索引
猜你喜欢
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 2019-04-23
  • 2017-06-18
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
相关资源
最近更新 更多