Pandas的问题
自学pandas的时候遇到个问题,
大意需要根据客户的属性和销售额,模拟计算客户的利润,如果客户是小卖部的话,利润=4*0.6
但是运行提示KeyError: '客户'
import pandas as pddata1={
"客户":["小卖部","超市","连锁超市"],
"销售额":[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