Po pierwsze, przepraszam za oczywistość tych dwóch pytań; Jestem bardzo nowy i nie mam pojęcia, co robię.Python 'AttributeError: obiekt' function 'nie ma atrybutu' min ''
Próbuję napisać coś, aby zastosować funkcję Scipy do interpolacji splajnu do tablicy wartości. Mój kod aktualnie wygląda tak:
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)
ale gdy dostaje się do linii
new_x = np.linspace(x.min(), x.max(), new_length)
pojawia się następujący błąd:
AttributeError: 'function' object has no attribute 'min'
i tak daleko googlowania itp okazało się nic to rozumiem. Co to oznacza i jak mogę to naprawić?
Drugie pytanie: jak mogę wprowadzić więcej niż jedną linię kodu naraz? W tej chwili, jeśli próbuję skopiować całą rzecz, a następnie wkleić ją do PyLab, wprowadza ona tylko górną linię mojego kodu, więc muszę wkleić całą rzecz w jednym wierszu na raz. Jak to obejść?
spróbuj zachować pytania tylko jedno pytanie, pierwszym (programowanie) pytanie jest dopuszczalne na tej stronie, jednak swoje drugie (nieprogramowe) pytanie nie ma nic wspólnego z StackOverflow i powinno być zadawane przez Superuser. –
Jeśli zrobisz 'from scipy.interpolate import interp1d' możesz po prostu wywołać' interp1d (...) '. Jeśli posiadasz 'tylko' scipy as sp' musisz nazwać go 'sp.interpolate.interp1d (...)' Nie musisz wykonywać obu, chyba że chcesz wywołać 'interp1d (...)' sam a także inna funkcja z 'scipy' jak' sp.interp() 'bez bezpośredniego importowania' od scipy import interp' i 'from scipy.interpolate import interp1d' – askewchan