• 元宇宙:本站分享元宇宙相关资讯,资讯仅代表作者观点与平台立场无关,仅供参考.

爆赞!Python 实现 Excel 常用的函数

  • AI科技大本营
  • 2022年5月25日06时

作者 | 老表

来源 |简说Python

摆脱鸽王,开始练习

读取Excel文件

首先下载本次案例需要的数据集,浏览器访问下方地址即可,在此感谢阿里云天池数据集平台和数据集上传者大师兄Eric,我下载的是湖北新冠肺炎疫情历史总数据下载.xls,大家可以随意选择其他省。
https://tianchi.aliyun.com/s/986f2e8af9e34f8ff8ae84ea7a18f96a
数据情况
数据集下载后,如果直接读取可能会出错,建议大家先另存为xlsx格式,然后读取。
#导入数据处理包
importpandasaspd

#读取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]foriindata_set['时间']]
data_set.head(3)
输出:
时间新增总确诊治愈死亡月
02020.1.20722702561
12020.1.211053752891
22020.1.226944428171

CONCATENATE函数

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

'''
CONCATENATE函数

将时间、新增、总确诊这三列合并,变成一列:通报
Excel实现:CONCATENATE(A3,"-新增:",B3,",总确诊:",C3,"。")
'''

data_set['通报']=[
i[1]['时间']+
'-新增:'+str(i[1]['新增'])+
',总确诊:'+str(i[1]['总确诊'])+'。'
foriindata_set.iterrows()
]
data_set.head(3)
输出:
时间新增总确诊治愈死亡月通报
02020.1.207227025612020.1.20-新增:72,总确诊:270
12020.1.2110537528912020.1.21-新增:105,总确诊:375
22020.1.2269444281712020.1.22-新增:69,总确诊:444

AND函数

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

code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;letter-spacing: 0px;padding-top: 15px;background: #282c34;border-radius: 5px;">'''
AND函数

假设规定每日新增人数超过300而且剩余确诊人数大于500,就算危险预警
Excel实现:AND(B3>300,C3-D3>500)
'''

data_set['危险预警']=[
i[1]['新增']>300
andi[1]['总确诊']-i[1]['治愈']>500
foriindata_set.iterrows()]
data_set.head(3)
输出:
时间新增总确诊治愈死亡月通报危险预警
02020.1.207227025612020.1.20-新增:72,总确诊:270False
12020.1.2110537528912020.1.21-新增:105,总确诊:375False
22020.1.2269444281712020.1.22-新增:69,总确诊:444False

IF函数

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

'''
IF函数

假设规定当日新增人数超过1000就算暴增预警,否则为0
Excel实现:IF(B3>1000,"当日暴增预警",0)
'''

surge_warning=[]
foriindata_set.iterrows():
ifi[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=['时间','月','新增','总确诊','治愈','死亡'])


往期回顾

介绍Pandas实战中的一些高端玩法


真香!详解Python好用的内置函数


架构师说 | 别等被偷家了再说数据安全!


如何用一行Python代码制作一个GUI?


分享

点收藏

点点赞

点在看


          

Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM