Для цикла, не выполняющего правильную итерацию внутри функции с диапазоном в

#python #function #for-loop

Вопрос:

 mylist= [1837214300022020 ,1837214300022195 ,1837214300022425 ,1837214300022451 ]
 

for x in mylist:
  data= pd.read_csv(("Even{0}.csv").format(x))
  names = data.columns

  df = pd.DataFrame(data, columns=names)  #Even
  df.head()

  data1= pd.read_csv(("Odd{0}.csv").format(x))
  names1 = data1.columns

  df1 = pd.DataFrame(data1, columns=names1) #Odd
  df1.head()

  

  b= df['mag']
  b_mean= df['mag'].mean()
  b_err = df['magerr']

  v=df1['mag']
  v_mean= df1['mag'].mean()



  v_err = df1['magerr']


  n=len(df.index)








  def StetsonIndex(b,v,b_mean,v_mean,b_err,v_err) :
    for i in range(0,n-1,1):


  
  
      X=(np.sqrt(1/(n*(n-1))) )*((-(b_mean)   (b[i]))/(b_err[i]))*((-(v_mean)    
(v[i]))/(v_err[I])) 
                             
  
      
  
 
      return X

 
  print(StetsonIndex(b,v,b_mean,v_mean,b_err,v_err))
 

Я получаю X только для i=0,но я хочу суммировать X для i в диапазоне(0, n-1,1).Я проверил это, вычисляя функцию для i=0 вручную.

Примечание. b ,v,b_err и v_err являются массивами, длина индекса которых равна n.

Это уравнение, которое я пытаюсь закодировать: Уравнение

Комментарии:

1. Каково содержимое четного{0}.csv и нечетного{0}.csv?

2. четный{0}.csv и нечетный{0}.csv содержат строки mag ,mag_err.