如何解决使用函数时发生错误-IndexError:索引0超出了轴0的范围,尺寸为0
停留在简单的任务上。 dfselect是合并所有数据的主要数据框,我试图在dfselect time的两个值之间进行插值并按。当我运行不带功能的脚本时,它运行良好。但是我在函数中编码的方式是ias sson我是错误的
def pt(tim,p,dfselect,temp,gg,h2s,co2,rho,vl,pl,phi):
import numpy as np
pt=0
told=0
Xold=0
tstep=tim/20
for N in range(0,20):
tnew=told+tstep
ptim=dfselect.loc[(dfselect.elastim==told),['bhppsi']]
ptim=ptim.iloc[0].values[0]
ptim_nxt=dfselect.loc[(dfselect.elastim==told+1),['bhppsi']]
ptim_nxt=ptim_nxt.iloc[0].values[0]
#ptim=dfselect.bhppsi.loc[dfselect['elastim']==told].values[0]
#ptim_nxt=dfselect.bhppsi.loc[dfselect['elastim']==told+1].values[0]
x=np.array([told,told+1]) ; y=np.array([ptim,ptim_nxt])
p_new = np.interp(tnew,x,y) #interpolate press frpm time
#x=np.array([told,tnew,np.nan,ptim_nxt])
#w = np.isnan(y);y[w] = 0.
#p_new=sp.interpolate.UnivariateSpline(x,y)
vis=gas_mu(temp,p_new,co2)
ctst=ctstar(rho,phi,co2)
Xnew=tnew/(vis*ctst)
pt=pt+(Xold+Xnew)/2*tstep
told=tnew
Xold=Xnew
return pt
得到此错误-
ptim=dfselect.loc[(dfselect.elastim==told),['bhppsi']]
IndexError: index 0 is out of bounds for axis 0 with size 0
试图浏览过去的帖子,但无法找到我要去的地方。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。