【问题标题】:Could anyone let me know why the codes variable in not incrementing in the below for loop in python?谁能让我知道为什么代码变量在下面的python for 循环中没有递增?
【发布时间】:2020-09-26 12:17:34
【问题描述】:

谁能告诉我为什么代码变量在下面的python for 循环中不递增。我认为这是一个非常愚蠢的错误,但我不明白。?

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)

【问题讨论】:

    标签: python-3.x pandas for-loop


    【解决方案1】:

    这是因为您在循环中的每一步都覆盖了您的 codes 变量。 您需要在循环之外(在第 1 行)声明您的 codes 变量。

    【讨论】:

      【解决方案2】:

      为了解决您的移动问题,请将 code = code + 1 移出 for 循环

      在 panda 中我们也有更好的方法来做到这一点

      df_inc['Short_description_error_code']=df_inc['SHORT_DESCRIPTION_ERROR'].factorize()[0]
      

      【讨论】:

        猜你喜欢
        • 2020-11-26
        • 1970-01-01
        • 1970-01-01
        • 2020-01-13
        • 2020-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多