Python错误u';标签[-1]不在[索引]和#x27中;

Python错误u';标签[-1]不在[索引]和#x27中;,python,Python,当使用if语句在数据帧中迭代以检查当前行和前一行中的一列中的条件时,如下所示: for i,row in DF.iterrows(): if row['column1'] == DF.loc[i-1, 'column1']): 标签[-1]不在[索引]中的u'错误产生。在这个社区和互联网上进行了一点挖掘后,意识到当第一行[行=0]中满足条件时,条件会抛出错误因为代码试图访问行-1。因为索引从DF中的0开始,当您执行DF.loc[i-1,'column1'])时,实际上是

当使用if语句在数据帧中迭代以检查当前行和前一行中的一列中的条件时,如下所示:

    for i,row in DF.iterrows():
        if row['column1'] == DF.loc[i-1, 'column1']):

标签[-1]不在[索引]中的u'错误产生。

在这个社区和互联网上进行了一点挖掘后,意识到当第一行[行=0]中满足条件时,条件会抛出错误因为代码试图访问行-1。

因为索引从DF中的0开始,当您执行
DF.loc[i-1,'column1'])
时,实际上是在检查不存在的索引-1。

您意识到,您可以使用
DF.column1==DF.column1.shift(1),而不是循环然后索引
然后使用它?@JonClementsthank您的评论,shift(1)允许我匹配到下一行,理论上应该是相同的,但在这种情况下,业务逻辑需要匹配到上一行。然后使用
shift(-1)
:)谢谢Sanchit。我本来打算把答案贴出来的,但平心而论,我承认你的回答是可以接受的。