问题描述
停留在简单的任务上。 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 (将#修改为@)