【发布时间】:2021-01-05 15:17:27
【问题描述】:
我正在尝试检查我的数据集并根据某些条件更改 rating_denominator 的值。但是这个方法给了我一个'IndexError: single positional indexer is out-of-bounds'的错误信息。
如果你们有任何线索,那就太棒了。
谢谢
for i, row in twitter_copy[twitter_copy.rating_denominator != 10].iterrows():
d = row.rating_denominator
k = row.rating_numerator
if d == 0:
# twitter_copy.rating_denominator.replace(d,10, inplace=True)
twitter_copy.iloc[i]['rating_denominator'] = 10
elif d < 10 and k > 10:
#twitter_copy.rating_denominator.replace(d,10, inplace=True)
twitter_copy.iloc[i]['rating_denominator'] = 10
else:
twitter_copy.iloc[i]['rating_denominator'] = 10
【问题讨论】:
-
为什么要迭代 DataFrame?一般来说,如果你需要迭代,有一个更好的解决方案。看看
numpy.where()。
标签: python pandas dataframe loops