谁能告诉我为什么代码变量在下面的 python 中不递增。我认为这是一个非常愚蠢的错误,但我不明白。?
for i in df_inc['SHORT_DESCRIPTION_ERROR'].unique():
codes=0
code_indices=df_inc[df_inc['SHORT_DESCRIPTION_ERROR'] == i].index.tolist()
for k in code_indices:
df_inc.loc[k,'Short_description_error_code']=codes
codes=codes+1
print(codes)
这是因为您在循环中的每一步都覆盖了代码变量。 您需要在循环之外(在第 1 行(声明代码变量。
要修复移动,code = code + 1
for 循环的一侧
同样在熊猫中,我们有更好的方法来做到这一点
df_inc['Short_description_error_code']=df_inc['SHORT_DESCRIPTION_ERROR'].factorize()[0]