pandas 0.24.1键错误:“索引(['A''B'],dtype='object')]都不在[columns]中”

2024-05-20 10:59:41 发布

您现在位置:Python中文网/ 问答频道 /正文

以前我养过一条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]

Tags: and函数代码dfkvmcalcfuncelif