小编eli*_*eli的帖子

在pandas中的多个列上应用自定义函数

我在Pandas中"应用"自定义函数时遇到了麻烦.当我测试函数时,直接传递它工作的值并正确返回响应.但是,当我尝试传递列值时,我收到错误"系列的真值是不明确的.使用a.empty,a.bool(),a.item(),a.any()或a.所有()."

def feez (rides, plan):
    pmt4       = 200
    inc4       = 50  #number rides included
    min_rate4  = 4 

    if plan == "4 Plan":
        if rides > inc4:
            fee = ((rides - inc4) * min_rate4) + pmt4 
        else:
            fee = pmt4
        return (fee)
    else:
       return 0.1

df['fee'].apply(feez(df.total_rides, df.plan_name))
Run Code Online (Sandbox Code Playgroud)

直接传递值,即feez(800,"4 Plan"),返回3200

但是,当我尝试应用上述功能时,我收到错误.

我是新手,怀疑我的语法写得不好.任何想法都非常感激.TIA.礼

python function apply dataframe pandas

8
推荐指数
1
解决办法
6255
查看次数

标签 统计

apply ×1

dataframe ×1

function ×1

pandas ×1

python ×1