Я использую алгоритм, описанный here, чтобы соответствовать гауссовским кривым колокола к моим данным.Fit алгоритм не принимает мои данные
Если я произвожу мой массив данных с:
x=linspace(1.,100.,100)
data= 17*exp(-((x-10)/3)**2)
все работает отлично.
Но если я читать данные из текстового файла, используя
file = open("d:\\test7.txt")
arr=[]
data=[]
def column(matrix,i):
return [row[i] for row in matrix]
for line in file.readlines():
numbers=map(float, line.split())
arr.append(numbers)
data = column(arr,300)
x=linspace(1.,115.,115)
Я получаю сообщение об ошибке:
Traceback (most recent call last):
File "readmatrix.py", line 60, in <module> fit(f, [mu, sigma, height], data)
File "readmatrix.py", line 42, in fit if x is None: x = arange(y.shape[0])
AttributeError: 'list' object has no attribute 'shape'
Насколько я могу видеть, значения, включенные в данные являются правильными, это выглядит так:
[0.108032, 0.86181600000000003, 1.386169, 3.2790530000000002, ... ]
У кого-то есть мнение, что я делаю неправильно?
Спасибо!
@Dzz: вы даже не включаете соответствующие части исходного кода. Строка 42 - это ошибка, из-за которой вы используете «y.shape [0]», а y - тип списка, который не имеет атрибута shape. Вам нужно будет указать больше источников, чтобы мы могли найти ошибку. –
Извините, я надеялся уменьшить количество текста в сообщении, связавшись с кодом. – Dzz