以前我养过一条0.18只熊猫的水蟒。使用下面的代码,我使用函数“calc_func”进行了计算,并将结果赋给DataFrame的列,比如“a”和“B”。
df[["A", "B"]]=df.[["KV", "GV"]].apply(calc_func, axis=1)
将pandas升级到0.24.1之后,此代码会产生一个KeyError,原因是“[索引(['a''B'],dtype='object')]都不在[列]”
我试过下面的代码,但也出现了同样的错误。
df.loc[:,["A", "B"]]=df.loc[:,["KV", "GV"]].apply(calc_func, axis=1)
任何帮助都将不胜感激。
我的计算函数如下:
def calc_func (_dataframe):
_limit15=v_limit15.get()
_limit20=v_limit20.get()
kvm=_veritabani["KV"]
gvm=_veritabani["GV"]
if kvm+gvm<=_limit15:
gvo=0.15
gv=gvm*gvo
elif kvm+gvm>_limit15 and kvm<=_limit15:
gv=(kvm+gvm-_limit15)*0.20+(_limit15-kvm)*0.15
gvo=gv/gvm
elif kvm>_limit15 and kvm+gvm<=_limit20:
gvo=0.20
gv=gvm*gvo
gvo=gv/gvm
elif kvm+gvm>_limit20 and kvm<=_limit20:
gv=(kvm+gvm-_limit20)*0.27+(_limit20-kvm)*0.20
gvo=gv/gvm
return [gvo, gv]
使用指定索引更改返回
Series
的函数:相关问题 更多 >
编程相关推荐