Problème codage python

Problème codage python

par Sylvain Romain,
Nombre de réponses : 0

Bonjour,

J'essaie de coder plus propre pour pouvoir modifier plus facilement mon code, car actuellement je n'ai pas de boucle ou quoi que ce soit et c'est la galère pour modifier un calcul sur toutes les parties de tous les piliers.

Voici mon problème, je lance cette boucle for. Le premier tour fonctionne bien mais après j'ai ce message d'erreur "invalid index to scalar variable" sur la ligne: Ylog=[(data1.Z>a[i])&(data1.Z<a[i+1])]. Comment faire ?

Voici le code:

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)

P1=P1-P1[0]

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))