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

您所在的位置:网站首页 excel里mid函数应用 Python实现Excel常用的16个函数(1)

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

2023-12-02 13:28| 来源: 网络整理| 查看: 265

前言

鸽了很久的一篇文章啦,很久之前,大概一个月吧,真是老鸽子了! 当时推了一篇文章Excel函数 | 相信这些也是你最常用这16个!,然后有个读者朋友提议我可以出一个Python实现这些常用Excel函数的专辑,我当时一想,很好的想法呀,然后就答应了,然后就鸽到现在。。。。(弹幕,刷一波:「鸽王老表」)

废话不多说了,来实现砸门的flag吧~

摆脱鸽王,开始练习读取Excel文件

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

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

数据情况

数据集下载后,如果直接读取可能会出错,建议大家先另存为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函数

通过图中介绍,我们知道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函数

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函数

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函数

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个,我将分三期分享给大家,也欢迎大家评论区提供更好的实现方法,加油。

◆ ◆ ◆ ◆ ◆



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3