IF()函数用于判断某一个条件是否满足,如果满足则返回一个值,如果不满足则返回另外一个值。比如,用IF()函数来判断考试成绩是否及格,如果满足大于或等于60分的条件,那么返回及格,否则返回不及格。
Excel实现
在Excel中,IF()函数的形式如下。
IF(logical_test, value_if_true, value_if_false)
logical_test表示要判断的条件。
value_if_true表示当条件满足时应该显示的值。
value_if_false表示当条件不满足时应该显示的值。
Python实现
首先,在Python中新建一个DataFrame,具体代码如下。
df = pd.DataFrame({'姓名‘:[‘荒天帝’,‘张铁’,‘厉飞雨’,‘方寒’,‘小波’,],‘成绩’:[43,81,50,63,49,75]})
df
接下来,创建一个名为score_if的函数来判断条件是否满足,具体代码如下。
def score_if(score):
if score >= 60:
result = '及格’
else:
result = “不及格”
return result
score_if()函数表示先对score进行判断,看其是否满足大于或等于60的条件,如果满足则让result = ‘及格’;如果不满足,则执行else语句,即让result = ‘不及格’,最后返回result的结果。
下面对df表中的“成绩”列执行score_if()函数,并把执行结果赋值给“是否及格”列,具体代码如下。
df[‘是否及格’] = df['成绩‘].apply(lamba x:score_if(x)
除了使用自定义的score_if()函数,还可以直接在lambda函数中使用if()函数,具体代码如下。
运行上面代码会得到如表9-13所示结果。
为了便于对比,我们生成了新的一列“是否及格_copy”,可以看到“是否及格”和“是否及格_copy”两列的结果是一样的,且与Excel中得到的结果也是完全一样的。
有时我们需要对多个条件同时进行判断,就要用到AND()函数。比如,现在你要统计部门哪些人符合晋升申请的条件,需要同时满足入职超过半年(0.5)、过去一年的绩效不低于60分。
文本相关的函数操作也是我们日常工作中使用比较多的一类函数,主要包括文本截取、文本合并、文本查找与替换、文本分列几个部分。
文本截取是指从一个完整的文本中根据特定规则截取指定的文本。
MID()函数:从指定位置获取指定个数的字符
LEFT()函数:从文本的左侧获取指定个数的字符
除了通过指明开始位置和结束位置,有时还会需要截取某个文本的前几个字符,比如要截取身份证号中的省份编号,即身份证号码中的前两位。
RIGHT()函数:从文本的右侧获取指定个数的字符
LEN()函数:获取字符的长度
文本合并是指将多个单独的文本合并成一个文本。
日期与时间函数也是我们工作中使用频率比较高的一部分函数。这里先介绍一下日期和时间的区别,日期是指何年何月何日,时间是指几点几分几秒。
9.5.1 VLOOKUP()函数:在多列以及多表中查找数据
VLOOKUP()函数在Excel中是一个使用非常高频的函数,该函数的作用是在一个表中查找另一个表相对应的值。
9.5.2 ROWS()函数:获取区域中的行数
9.5.3 COLUMNS()函数:获取区域中的列数
9.6 数学和三角函数
9.6.1 常规计算函数
SUMPRODUCT()函数:对值进行相乘求和
SUMIF()函数:对满足条件的值进行求和
SUMIFS()函数:对满足多个条件的值进行求和
9.6.2 格式调整函数
4. ROUND()函数:对值进行四舍五入
9.6.3 指数与对数函数
5. POWER()函数:获取幂函数
9.7 统计函数
9.7.1 均值相关
均值就是一组数据的平均值,经常会用均值来代表一组数据的整体水平。
6. AVERAGE()函数:获取均值
9.7.2 计数相关
7. COUNTA()函数:计数
9.7.3 最值函数
8. MAX()函数:获取最大值
前面介绍的更多是Excel中自带的函数,有时自带的函数可能不能够满足需求,这时就需要自定义公式了。
比如,我们现在有A、B、C这3列的值,要生成第4列值,让其等于A+B-C,该如何实现呢?