Во-первых, извинения за то, насколько очевидны эти два вопроса; Я очень новичок в этом и понятия не имею, что я делаю.Python 'AttributeError: объект' function 'не имеет атрибута' min ''
Я пытаюсь написать что-то, чтобы применить функцию Scipy для интерполяции сплайна к массиву значений. Мой код в настоящее время выглядит следующим образом:
import numpy as np
import scipy as sp
from scipy.interpolate import interp1d
x=var
x1 = ([0.1,0.3,0.4])
y1 = [0.2,0.5,0.6]
new_length = 25
new_x = np.linspace(x.min(), x.max(), new_length)
new_y = sp.interpolate.interp1d(x, y, kind='cubic')(new_x)
но когда дело доходит до линии
new_x = np.linspace(x.min(), x.max(), new_length)
я получаю следующее сообщение об ошибке:
AttributeError: 'function' object has no attribute 'min'
и до сих пор прибегая к помощи и т.д. не подвернулось ничего что я понимаю. Что это значит и как я могу это исправить?
Второй вопрос: как мне ввести сразу несколько строк кода? На данный момент, если я попытаюсь скопировать все это, а затем вставить его в PyLab, он вводит только верхнюю строку моего кода, поэтому мне нужно вставить все это в одну строку за раз. Как мне обойти это?
Пожалуйста, попробуйте держать вопросы только один вопрос, ваш первый (программирование) вопрос является приемлемым на данном сайте, однако, ваш второй (не программируемый) вопрос не имеет ничего общего с StackOverflow и должен быть задан на Superuser. –
Если вы используете 'from scipy.interpolate import interp1d', вы можете просто вызвать' interp1d (...) '. Если вы _only_ имеете 'import scipy as sp', вы должны называть его' sp.interpolate.interp1d (...) 'Вам не нужно делать оба, если вы не хотите вызывать' interp1d (...) 'самостоятельно а также другую функцию из 'scipy', например' sp.interp() 'без явного импорта 'из scipy import interp' и' из scipy.interpolate import interp1d' – askewchan