Python实现Excel函数

函数

    • 9.2 逻辑函数
      • 9.2.1 IF()函数:判断条件是否满足
      • 9.2.2 AND()函数:判断多个条件是否同时满足
      • 9.2.3 OR()函数:判断多个条件中是否有其中一个满足
    • 9.3 文本函数
      • 9.3.1 文本截取
      • 9.3.2 文本合并
    • 9.4 日期与时间函数
      • 9.4.1 获取当前的日期、时间
      • 9.4.2 获取日期和时间中的某部分
    • 9.5 查找与引用
    • 9.8 自定义公式

9.2 逻辑函数

9.2.1 IF()函数:判断条件是否满足

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中得到的结果也是完全一样的。

9.2.2 AND()函数:判断多个条件是否同时满足

有时我们需要对多个条件同时进行判断,就要用到AND()函数。比如,现在你要统计部门哪些人符合晋升申请的条件,需要同时满足入职超过半年(0.5)、过去一年的绩效不低于60分。

9.2.3 OR()函数:判断多个条件中是否有其中一个满足

9.3 文本函数

文本相关的函数操作也是我们日常工作中使用比较多的一类函数,主要包括文本截取、文本合并、文本查找与替换、文本分列几个部分。

9.3.1 文本截取

文本截取是指从一个完整的文本中根据特定规则截取指定的文本。

  1. MID()函数:从指定位置获取指定个数的字符

  2. LEFT()函数:从文本的左侧获取指定个数的字符
    除了通过指明开始位置和结束位置,有时还会需要截取某个文本的前几个字符,比如要截取身份证号中的省份编号,即身份证号码中的前两位。

  3. RIGHT()函数:从文本的右侧获取指定个数的字符

  4. LEN()函数:获取字符的长度

9.3.2 文本合并

文本合并是指将多个单独的文本合并成一个文本。

  1. CONCATENATE()函数:合并多个文本
    1. PHONETIC()函数:合并多个单元格内容
    1. SUBSTITUTE()函数:对指定字符进行替换
    1. TRIM()函数:删除文本中的空格

9.4 日期与时间函数

日期与时间函数也是我们工作中使用频率比较高的一部分函数。这里先介绍一下日期和时间的区别,日期是指何年何月何日,时间是指几点几分几秒。

9.4.1 获取当前的日期、时间

  1. NOW()函数:返回当前日期和时间
  2. TODAY()函数:返回当前日期

9.4.2 获取日期和时间中的某部分

  1. WEEKDAY()函数:获取周几
    1. WEEKNUM()函数:获取周数

9.5 查找与引用

9.5.1 VLOOKUP()函数:在多列以及多表中查找数据
VLOOKUP()函数在Excel中是一个使用非常高频的函数,该函数的作用是在一个表中查找另一个表相对应的值。

9.5.2 ROWS()函数:获取区域中的行数

9.5.3 COLUMNS()函数:获取区域中的列数

9.6 数学和三角函数
9.6.1 常规计算函数

  1. SUMPRODUCT()函数:对值进行相乘求和

  2. SUMIF()函数:对满足条件的值进行求和

  3. 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()函数:获取最大值

9.8 自定义公式

前面介绍的更多是Excel中自带的函数,有时自带的函数可能不能够满足需求,这时就需要自定义公式了。
比如,我们现在有A、B、C这3列的值,要生成第4列值,让其等于A+B-C,该如何实现呢?

你可能感兴趣的:(数据分析,python,excel)