if函数python_python pandas实现excel中的if 函数(一)

excel中,if函数的使用非常普遍。如果通过pandas可以有好几种方法,核心还是通过if语句实现。下面我来阐述一下:

>>> df = pd.read_excel(r'D:/myExcel/1.xlsx')

>>> df

销售人员 销售额

0 张三 -100

1 李四 200

2 张三 100

3 王五 100

4 王五 300

(1)将销售额大于0时,标记为good,否则标记为bad

在这里用到了pandas中的apply函数以及python中的三元表达式

>>> df['grade'] = df.销售额.apply(lambda x : 'good' if x > 0 else 'bad')

>>> df

销售人员 销售额 grade

0 张三 -100 bad

1 李四 200 good

2 张三 100 good

3 王五 100 good

4 王五 300 good

(2)将张三的销售额大于0时,标记为good,否则其他所有记录标记为bad

使用loc方法

>>> df

A B

0 张三 -100

1 李四 200

2 张三 100

3 王五 100

4 王五 300

# 'grade'为新增列

>>> df.loc[(df.A == '张三') & (df.B > 0), 'grade'] = 'yes'

>>> df

A B grade

0 张三 -100 NaN

1 李四 200 NaN

2 张三 100 yes

3 王五 100 NaN

4 王五 300 NaN

# ~表示取反。

>>> df.loc[~((df.A == '张三') & (df.B > 0)), 'grade'] = 'no'

>>> df

A B grade

0 张三 -100 no

1 李四 200 no

2 张三 100 yes

3 王五 100 no

4 王五 300 no

哈哈,以上就是相关实现,其中第一种apply + 三元运算符的适用性比较低,仅使用某一列的比较确认,loc方法的适用性比较广,但步骤稍微麻烦,下一次我们将尝试将loc方法表写为函数一次处理,不再分部进行。同样,pandas还提供了cut函数进行了支持。哈哈,欢迎大家关注python小工具,一起学习python和pandas

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值