ValueError:使用interp1d,x_new中的值低于插值范围

时间:2018-02-15 22:53:52

标签: python pandas numpy scipy interpolation

我是使用Python进行数据分析的新手。我在使用interp1d时遇到问题。基本上,我从电子表格中使用Panda获取数据。提取了x,y值后,我可以确认结果的打印如下:

y
Out[131]: 
array([[ 580.60722166],
       [ 581.7671223 ],
       [ 581.4880497 ],
       ..., 
       [ 701.23273947],
       [ 701.46478897],
       [ 701.98525007]])

x
Out[133]: 
array([[ 0.00449967],
       [ 0.00458014],
       [ 0.00465317],
       ..., 
       [ 0.0790797 ],
       [ 0.07914504],
       [ 0.07921434]])

我的间隔域是:

x_new = np.linspace(0.00449967, 0.07921434, num=1000)

然而,当我运行代码时,我收到此错误消息。

ValueError: A value in x_new is below the interpolation range

我很欣赏论坛中有同样问题的答案,但遗憾的是我仍在努力解决这个问题。非常感谢任何帮助。谢谢!

代码:

import pandas as pd 
# reading Excel file 
df = pd.read_excel( 'data.xlsx') 

# Getting the label of the columns 
label = df.columns 

# selecting columns 
df_stress = df[['True Stress']] 

# ----- stripping required data 
df_stress = df_stress[377:1650] 

# Y values 
y = np.array(df_stress) 

# X Values 
df_strain = df[['True Strain']] 
df_strain = df_strain[377:1650] 
x = np.array(df_strain) 
x_new = np.linspace(0.00449967, 0.07921434, num=1000) 
f_linear = interp1d(x, y, kind='cubic') 
y_il = f_linear(x_new)

0 个答案:

没有答案