我正在使用熊猫进行锻炼。熊猫数据框有几列,分别为What_Type,Spend,Profit和行上的相应值
已编写了一个用户定义的函数,以查询第一列“ what_type”并基于数据帧中的值返回一个值。我相信代码说的是,如果what_type列中包含任何值,酒店,捕鱼,足球,那么请应用一些公式,例如1.5 * 10。
我的问题是关于代码以及如何调用此函数以返回值。
(请参见下面的示例)
import pandas as pd
data = [['hotels', 10],['fishing', 20],['soccer', 15]]
df = pd.DataFrame(data, columns =['what_type', 'spend'])
def what_type(x):
if ['what_type'] in ['hotels', 'fishing', 'soccer']:
what_type = 1.5 * 10
else:
what_type = 2.1 * 5
return what_type
如果我想将“酒店”(1.5 * 10)= 15的what_type值返回到屏幕,我是否可以使用下面的代码返回该值?
df.apply(what_type, axis = 1)
The result i get is this....
0 10.5
1 10.5
2 10.5
dtype: float64
I was expecting to get the output value 15.
预先感谢您:)