Каждый раз, когда я запускаю эту программу, я получаю сообщение об ошибке: AttributeError: 'numpy .ndarray' объект не имеет атрибута 'vek1'
Но почему и как я могу решить эту проблему проблема? Спасибо за помощь.
Первый (main.py):
import os
os.getcwd()
import loaddata as ld
import symmetryvalues as sv
import centerofforce as cof
import numpy as np
import plotvalues as pv
"""
Load Data
"""
dataList = ld.loadData()
index = 1
data =dataList[index]
forceLeft = data.iloc[:,62:72].astype('float64').dropna()
forceRight = data.iloc[:,86:96].astype('float64').dropna()
vek1 = np.asarray([data.iloc[:, i].mean() for i in range(0, 5)])
vek2 = np.asarray([data.iloc[:, i].mean() for i in range(5, 10)])
xCoF, yCoF = cof.calcCoF(forceDataLeft = forceLeft, forceDataRight = forceRight)
pv.plotCoFAnimationpl(xCoF, yCoF, marker='*')
#%%
df = dataList[13].to_numpy()
print(df)
result = sv.symmetryRatio(df.vek1, df.vek2)
Второй (symbryvalues.py):
def rowPass(data):
for row in data:
print(symmetryRatio(row))
#print(self.symmetryIndex(row))
#print("Important",self.symmetryRatio(data))
return True
def symmetryRatio(L, R):
result = L/R
return result
def symmetryIndex(L, R):
res = ((L-R)/(0.5*(L+R)))*100
return res
def gaitAsymmetry(L, R):
r = 0
return r
def symmetryAngle(L, R):
solution = 0
return solution
РЕДАКТИРОВАТЬ:
Это мой пример CSV - Данные с пятью строками (но я также могу иметь данные с 100 или более строк):
1.00,0.80,0.40,0.20, 0,50,1,20,90,0,30,0,20,34
1,10,0,85,0.50,0.21,0.59,1.30,0.95,0.40,0.21,0.42
0,90,0,90,45,0,23, 0,50,1,10,1,00,0,35,0,23,3,3
1,05,0,70,0,40,08,8,5,57,1,25,0,80,30,0,28,0,38
0,95,0,75,0,45,0,30, 0.60,1.15,0.85,0.35,0.30,0.42
vek1 должно обозначать первые пять значений каждой строки, а vek2 - последние 5 значений каждой строки. План таков: я хочу рассчитать (в main.py) среднее значение каждого столбца (то есть то, что я пробовал). Тогда у меня есть десять значений. Первые пять значений записываются в одном векторе (vek1), а последние пять значений записываются также в одном векторе (vek2). Затем я хочу использовать метод symbryRatio (L, R) из сайта symbryvalues.py, чтобы разделить vec1 на vec2.
Надеюсь, теперь все стало понятнее.
РЕДАКТИРОВАТЬ
С:
df1 = pd.DataFrame({'vek1': vek1})
df2 = pd.DataFrame({'vek2': vek2})
result = sv.symmetryRatio(df1.vek1, df2.vek2)
Я получаю вывод:
The result is: 0 0.833333
1 0.888889
2 1.294118
3 1.000000
4 1.445026
Как я могу сформировать 0, 1, 2, 3, 4 на конкретные c имен?