from scipy.interpolate import lagrange import pandas as pd import numpy as np inputfile = '5Preprocessing/teleco_camp_orig.csv' #销量数据路径 camp = pd.read_csv(inputfile) #读入数据 for i in range(2,4): la=lagrange(camp.iloc[:,i].dropna().index,camp.iloc[:,i].dropna().values) list_d=list(set(np.arange(0,20)).difference(set(camp.iloc[:,i].dropna().index))) camp.iloc[list_d,i]=la(list_d) print("第%d 列缺失值的个数为:%d"%(i,camp.iloc[:,i].isnull().sum())) print("lagrange 插值后(False 为缺失值所在位置)\n",camp.notnull())