Python for循环的索引标量变量无效

Python for循环的索引标量变量无效,python,pandas,numpy,Python,Pandas,Numpy,我试着做一个for循环,但到目前为止还没有成功。第一次迭代执行得很完美,但之后会出现错误: 索引器错误:标量变量的索引无效 对于Ylog=[(data1.Z>a[i])&(data1.Za[i])&(data1.Z行,问题是在循环中,当您重新定义变量a时,您会重新定义该变量 a,b,r_值,p_值,std_err=stats.linregresse(x,z) 因此,从第二次迭代开始,a不是一个数组,而是一个标量,因此您无法对它进行索引,并且会产生这样的错误。问题是,在循环中,您在执行此操作时会重

我试着做一个for循环,但到目前为止还没有成功。第一次迭代执行得很完美,但之后会出现错误:

索引器错误:标量变量的索引无效


对于
Ylog=[(data1.Z>a[i])&(data1.Za[i])&(data1.Z行,问题是在循环中,当您重新定义变量
a
时,您会重新定义该变量

a,b,r_值,p_值,std_err=stats.linregresse(x,z)


因此,从第二次迭代开始,a
不是一个数组,而是一个标量,因此您无法对它进行索引,并且会产生这样的错误。

问题是,在循环中,您在执行此操作时会重新定义变量
a

a,b,r_值,p_值,std_err=stats.linregresse(x,z)


因此,从第二次迭代开始,
a
不是一个数组而是一个标量,因此您不能对它进行索引,并且会产生这样的错误。

i
为4时,
a[i+1]
将超出索引范围。但是这不是错误所说的。是的,我将范围(5)中的
更改为范围(4)中的
但仍然存在此错误…谢谢当
i
为4时,则
a[i+1]
将超出索引。但这不是错误所说的。是的,我将范围(5)
中的
更改为范围(4)
中的
,但仍然存在此错误…谢谢
import matplotlib.pyplot as plt
import pandas as pd
from scipy import stats

base=pd.read_csv('pont du gard.csv',sep=';',index_col=0)
data1=pd.read_csv('P1.csv',sep=';',index_col=0)

P1=np.sqrt((base.X['Base']-data1.X)**2+(base.Y['Base']-data1.Y)**2)

a=np.array([77,86.6,95,115,125])
for i in range(5):
    Xlog=[(P1)]
    Ylog=[(data1.Z>a[i])&(data1.Z<a[i+1])]
    logique=np.logical_and(Xlog,Ylog).flatten()
    x=P1[logique]
    z=data1.Z[logique]
    a, b, r_value, p_value, std_err = stats.linregress(x,z)
    plt.plot(x,a*x+b)
    print('Pendage P1:',np.arctan(a1)*180/np.pi,'°')
    print('Erreur de :', 1-np.absolute(r_value))