Python实现Excel常用的16个函数(1)

简介: Python实现Excel常用的16个函数(1)

简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。

读取Excel文件

首先下载本次案例需要的数据集,浏览器访问下方地址即可,在此感谢阿里云天池数据集平台和数据集上传者大师兄Eric,我下载的是湖北新冠肺炎疫情历史总数据下载.xls,大家可以随意选择其他省。

https://tianchi.aliyun.com/s/986f2e8af9e34f8ff8ae84ea7a18f96a

image.png

数据情况

数据集下载后,如果直接读取可能会出错,建议大家先另存为xlsx格式,然后读取。

# 导入数据处理包
import pandas as pd
# 读取Excel,header=1表示取第二行数据作为列名(表头)
data_set = pd.read_excel('湖北新冠肺炎疫情历史总数据下载.xlsx',header=1)
# 查看数据规模
data_set.shape
# 输出:(200, 5)
# 查看表头
data_set.columns
# 输入:Index(['时间', '新增', '总确诊', '治愈', '死亡'], dtype='object')

MID函数

image.png

通过图中介绍,我们知道Excel中MID函数的含义就是获取指定单元格中字符串指定位置的字符子串的,换到Python中就很好实现了,直接使用字符串的索引即可,如下:


'''
MID
根据时间一列新增一列:月
Excel实现:MID(A3,6,1)
'''
data_set['月'] = [i[5:6] for i in data_set['时间']]
data_set.head(3)
输出:
 时间 新增 总确诊 治愈 死亡 月
0 2020.1.20 72 270 25 6 1
1 2020.1.21 105 375 28 9 1
2 2020.1.22 69 444 28 17 1

CONCATENATE函数

image.png

CONCATENATE函数的作用就是将指定的几个单元格的内容连接起来,变成一个字符串,在Excel中也可以用&也可以实现,在Python中更简单,直接用+即可实现。


'''
CONCATENATE函数
将时间、新增、总确诊这三列合并,变成一列:通报
Excel实现:CONCATENATE(A3,"-新增:",B3,",总确诊:",C3,"。")
'''
data_set['通报'] = [
    i[1]['时间']+
    '-新增:'+str(i[1]['新增'])+
    ',总确诊:'+str(i[1]['总确诊'])+'。' 
    for i in data_set.iterrows()
]
data_set.head(3)
输出:
 时间 新增 总确诊 治愈 死亡 月 通报
0 2020.1.20 72 270 25 6 1 2020.1.20-新增:72,总确诊:270。
1 2020.1.21 105 375 28 9 1 2020.1.21-新增:105,总确诊:375。
2 2020.1.22 69 444 28 17 1 2020.1.22-新增:69,总确诊:444。

AND函数

image.png

AND函数的作用就是判断每个表达式是否都为真,如果都为真就返回True,否则就返回False,在Python中可以用and运算符实现这种判断。

'''
AND函数
假设规定每日新增人数超过300而且剩余确诊人数大于500,就算危险预警
Excel实现:AND(B3>300,C3-D3>500)
'''
data_set['危险预警'] = [
    i[1]['新增'] > 300 
    and i[1]['总确诊']-i[1]['治愈'] > 500
    for i in data_set.iterrows()]
data_set.head(3)
输出:
时间 新增 总确诊 治愈 死亡 月 通报 危险预警
0 2020.1.20 72 270 25 6 1 2020.1.20-新增:72,总确诊:270。 False
1 2020.1.21 105 375 28 9 1 2020.1.21-新增:105,总确诊:375。 False
2 2020.1.22 69 444 28 17 1 2020.1.22-新增:69,总确诊:444。 False

IF函数

image.png

IF函数就好实现了,Python中就有if语法。


'''
IF函数
假设规定当日新增人数超过1000就算暴增预警,否则为0
Excel实现:IF(B3>1000,"当日暴增预警",0)
'''
surge_warning = []
for i in data_set.iterrows():
    if i[1]['新增'] > 1000:
        surge_warning.append('当日暴增预警')
    else:
        surge_warning.append(0)
data_set['暴增预警'] = surge_warning
data_set.head(3)

其他相关知识

# 删除指定列
data_set = data_set.drop(['年'], axis=1)
# 重新排列顺序
data_set = data_set.reindex(columns=['时间', '月', '新增', '总确诊', '治愈', '死亡'])

今天先分享四个,剩余12个,我将分三期分享给大家,也欢迎大家评论区提供更好的实现方法,加油。

相关文章
|
8天前
|
Python
python函数的参数学习
学习Python函数参数涉及五个方面:1) 位置参数按顺序传递,如`func(1, 2, 3)`;2) 关键字参数通过名称传值,如`func(a=1, b=2, c=3)`;3) 默认参数设定默认值,如`func(a, b, c=0)`;4) 可变参数用*和**接收任意数量的位置和关键字参数,如`func(1, 2, 3, a=4, b=5, c=6)`;5) 参数组合结合不同类型的参数,如`func(1, 2, 3, a=4, b=5, c=6)`。
13 1
|
25天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
21 1
|
3天前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
|
4天前
|
Python
python学习10-函数
python学习10-函数
|
4天前
|
Python
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
python学习4-内置函数range()、循环结构、循环控制语句、else语句、嵌套循环
|
7天前
|
测试技术 开发者 Python
Python中的装饰器:优雅而强大的函数修饰工具
在Python编程中,装饰器是一种强大的工具,用于修改函数或方法的行为。本文将深入探讨Python中装饰器的概念、用法和实际应用,以及如何利用装饰器实现代码的优雅和高效。
|
12天前
|
Python
Python函数学习应用案例详解
【4月更文挑战第7天】学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
13 1
|
12天前
|
Python
python基础篇:什么是函数?函数有什么用?
python基础篇:什么是函数?函数有什么用?
23 3
|
16天前
|
安全 Python
Python中input()函数
【4月更文挑战第3天】,`input()` 是 Python 内建函数,用于从控制台获取用户输入。它会暂停程序并显示提示信息(如果提供),用户输入的内容被视为字符串返回。基本语法是 `variable = input(prompt)`,其中 `prompt` 是可选提示信息。例如,`name = input("请输入您的姓名:")` 后,程序会等待用户输入,然后将输入的字符串赋值给 `name`。注意 `input()` 总是返回字符串,需手动转换为其他类型,且避免使用 `eval()` 处理用户输入以防止安全风险。
21 2
Python中input()函数
|
17天前
|
Java C语言 C++
【Python】5. 基础语法(3) -- 函数篇
【Python】5. 基础语法(3) -- 函数篇
24 1

热门文章

最新文章