我是使用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)