我有一段代码如下:
for index, row in df.iterrows():
if index == 0:
continue
elif df.loc[df.index[index], 'date'] == df.loc[df.index[index - 1], 'date']:
df.loc[df.index[index], 'desc'] = 'same date'
这个代码可以工作。然而,IDE(PyCharm)警告我,在[index - 1]
中,index
是一个Hashable,而不是预期的Int。这个类型警告是有意义的,因为.iterrows()
返回index
作为Hashable,但我们在这里做整数操作。问题是,如何避免这种警告?
1条答案
按热度按时间mwkjh3gx1#
iterrows很少是解决这类问题的最佳方法。您可以移动整个日期行,并检查上一个日期是否等于当前日期,所有这些都在一个操作中完成。就像你的例子一样,索引0将始终是nan,因为当向前移动日期时,第一个索引没有先前的日期。
输出