首页 > 解决方案 > 即使将'i'声明为全局变量,它也显示'i'未定义

问题描述

   i = 0
    def func(x):
        global i
        sum1 = 0
        for ele in x:
            minus = ele - data['Mean'][i]
            sum1 += np.square(minus)
        i += 1
        return sum1

    data['Std'] = Top15_new.groupby('Continents').agg({"Population":func})
    return data
answer_eleven()


NameError: name 'i' is not defined

标签: pythonpandas

解决方案


由于未提供数据,因此我编写了 DataFrames 和数据。我只是将您的代码缩进如下:

i = 0 
def func(x): 
   global i 
   sum1 = 0 
   for ele in x: 
      minus = ele - data['Mean'][i] 
      sum1 += np.square(minus) 
      i += 1   
   return sum1


data['Std'] = Top15_new.groupby('Continents').agg({"Population":func})

data

这是上面代码的输出,没有错误。数据再次由数据组成

   Mean Std
0   2   NaN
1   3   NaN
2   4   1.0
3   5   5.0
4   6   NaN

推荐阅读