Pandas的问题

自学pandas的时候遇到个问题,
大意需要根据客户的属性和销售额,模拟计算客户的利润,如果客户是小卖部的话,利润=4*0.6
但是运行提示KeyError: '客户'Pandas的问题

import pandas as pd

data1={

"客户":["小卖部","超市","连锁超市"],

"销售额":[4,5,6]

}

data=pd.DataFrame(data1)

data.insert(loc=2,column="利润",value=data.apply(lambda x:x["金额"]*0.6 if not x["客户"]=="小卖部" else x["金额"]))

print(data)

print("Done~~")


回答:

多看看官方文档,axis 取不同值时,apply 中的 lambda 函数的参数是不一样的(行或列)。

>>> import pandas as pd

>>> data1 = { "客户":["小卖部","超市","连锁超市"], "销售额":[4,5,6] }

>>> data = pd.DataFrame(data1)

>>> data.insert(loc=2, column="利润", value=data.apply(lambda x : x["销售额"] * 0.6 if not x["客户"] == "小卖部" else x["销售额"], axis=1))

>>> data

客户 销售额 利润

0 小卖部 4 4.0

1 超市 5 3.0

2 连锁超市 6 3.6

>>>

以上是 Pandas的问题 的全部内容, 来源链接: utcz.com/p/938149.html

回到顶部