我正在使用此脚本从excel获取插值。它工作正常,效果很好
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import numpy as np
def estimateMonthlySales(domainId,categoryId,salesRank):
df = pd.read_excel('data.xlsx', sheetname='units')
df = df.set_index('index')
indexRef = str(domainId)+'_'+str(categoryId)
startCol = 7
array_x1 = df.loc[indexRef,:].index
array_y1 = df.loc[indexRef,:].values
array_x = []
for i in range(startCol,len(array_x1)):
array_x.append(int(array_x1[i]))
array_y = []
for i in range(startCol,len(array_y1)):
try:
j = int(array_y1[i])
except:
pass
array_y.append(j)
#print(array_x)
#print(array_y)
return(int(np.interp(salesRank, array_x, array_y)*0.98))
print(estimateMonthlySales(2,468292,600))
我正在使用numpy interp功能。但我想编写自己的插值函数来获得由numpy interpolation functoin提供的数据集的类似结果。如何在不使用numpy和pandas的情况下编写自己的插值函数。
我正在使用Python 3.6。