【发布时间】:2017-08-30 11:29:29
【问题描述】:
我正在使用 itertuples 对 pandas 数据框进行迭代。我还想在迭代时捕获行号:
for row in df.itertuples():
print row['name']
预期输出:
1 larry
2 barry
3 michael
1、2、3 是行号。我想避免使用计数器并获取行号。有没有使用 pandas 实现此目的的简单方法?
【问题讨论】:
-
拒绝使用
enumerate- Python 中针对这些情况的常见模式 - 似乎很奇怪。我会用它。否则df.reset_index()将带来一个基于 0 的索引,因此行号将是您为给定行 +1 迭代的索引 -
你应该像in this SO post一样使用
iterrows -
@Boud 哪里说他们拒绝使用枚举?
-
@Cheng iterrows 的问题是 dtypes 可能无法跨行保持一致。这可能会带来很大的问题。