Python用户定义函数

时间:2019-11-12 12:14:43

标签: python pandas

我正在使用熊猫进行锻炼。熊猫数据框有几列,分别为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.

预先感谢您:)

0 个答案:

没有答案