admin管理员组

文章数量:1794759

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

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

本文标签: 函数PythonPandasExcel