Python 数据帧';方法iterrows跳过行?

Python 数据帧';方法iterrows跳过行?,python,pandas,loops,dataframe,Python,Pandas,Loops,Dataframe,我使用下面的代码来迭代我的数据帧数据 对于索引,数据中的行。iterrows() 打印(索引) 我有这个输出: 0 1 3 4 5 7 8 10 11 12 13 14 15 17 18 19 20 22 23 25 27 28 30 它跳过2,6,16,21,24和26。 有人能帮我理解为什么吗?您正在循环索

我使用下面的代码来迭代我的数据帧数据

对于索引,数据中的行。iterrows()
打印(索引)
我有这个输出:

    0
    1
    3
    4
    5
    7
    8
    10
    11
    12
    13
    14
    15
    17
    18
    19
    20
    22
    23
    25
    27
    28
    30
它跳过
2,6,16,21,24
26

有人能帮我理解为什么吗?

您正在循环索引值,因此可能由于许多因素(如预处理和删除包含NaN的行)而存在间隙。 您可以做的一件事是将索引重置为默认行号

df.reset_index(drop=True)

drop=True将删除旧索引,在大多数情况下它是无用的。

数据帧的索引中是否实际存在2、6、16、21、24或26?可能您的数据帧不包含这些索引?如果您在此步骤之前已完成任何数据筛选,您可能忘记重置索引,您可以通过
df.reset\u index(drop=True)执行此操作
由于其他注释都没有提到,数据帧的索引不一定要排序。在这一步之前,您肯定增加了索引。是的,您是对的,我在执行该循环之前使用了过滤器,因此索引不存在于数据帧的索引中,这影响了我对某些行的处理,这些行为我执行了
df.reset\u index(drop=True)
。谢谢大家