У меня есть фрейм данных с ResidMat и Price, я использую scipy, чтобы найти интерполированный CubicSpline. Я использовал CubicSpline и подал заявку, чтобы найти все данные в моем наборе данных. Но это не очень быстро, потому что в этом случае больше нет данных. У меня будет более сотни данных, и это очень медленно. У вас есть идея сделать это, но, может быть, с матрицей?
Спасибо,
def add_interpolated_price(row, generic_residmat):
from scipy.interpolate import CubicSpline
residmats = row[['ResidMat']].values
prices = row[['Price']].values
cs = CubicSpline(residmats, prices)
return float(cs(generic_residmat))
df = pd.DataFrame([[1,18,38,58,83,103,128,148,32.4,32.5,33.8,33.5,32.8,32.4,32.7],[2,17,37,57,82,102,127,147,31.2,31.5,32.7,33.2,32.5,32.9,33.3]],columns = ['index','ResidMat','ResidMat','ResidMat','ResidMat','ResidMat','ResidMat','ResidMat','Price','Price','Price','Price','Price','Price','Price'],index=['2010-06-25','2010-06-28'])
my_resimmat = 30
df['Generic_Value'] = df.apply(lambda row: add_interpolated_price(row, generic_residmat=my_resimmat), axis=1)
TypeError: Cannot convert bool to numpy.ndarray
- person Paul Brennan   schedule 05.01.2021