再见excel,pandas实现表格最常用的10个函数

共 2482字,需浏览 5分钟

 ·

2021-04-08 23:04

↑↑↑关注后"星标"简说Python

人人都可以简单入门Python、爬虫、数据分析
 简说Python推荐 
来源:python数据分析之禅

作者:小dull鸟

大家好,我是老表,今天给大家分享一篇pandas实现excel函数功能的文章,如果学习get了,记得文末留言get!

pandas是个功能很强大的函数,对经常使用excel进行数据处理的朋友很有帮助

今天教大家如何用pandas实现excel中最常见的10个函数,大大提高你的工作效率

首先我们用pandas读取数据:

import pandas as pd
data=pd.read_csv('成绩表.csv',encoding='gbk')
data


一、6个基础函数

1.求和函数--sum()

pandas计算每名同学的总分:

data['总分']=data.sum(axis=1#axis=1代表对行进行求和
data

求语文总分:

data.sum(axis=0,numeric_only=True#axis=0代表对列进行求和,numeric_only=True表示只对数字求和
语文     689.0
数学 727.0
英语 712.0
总分 2128.0
dtype: float64

2.最小值函数--min()

pandas计算总分最低分:

data['总分'].min()
197.0

3.最大值函数--max()

pandas计算总分最高分:

data['总分'].max()
275.0

4.平均值函数--mean()

pandas计算英语成绩平均分:

data['英语'].mean()
79.11111111111111

5.计数函数--count()

pandas统计共有多少同学:

data['姓名'].count()
9

6.条件函数--IF()

将总分大于270分的判为优秀,小于270分判为良好:

data['等级']=data.总分.apply(lambda x:'优秀' if x >= 270 else '良好')
data

二、4个进阶函数

7.提取文本中的数字--MIDB()函数

在excel中实现如下图:

我们用pandas也可轻松实现:

data['考生num']=data['考生号'].str.extract('(\d{4})')
data


8.计算每名学生的年龄--DATEDIF()函数

excel用实现如下图:

pandas稍微复杂一些:

import datetime as dt
now_year =dt.datetime.today().year #当前的年份
data['出生年月']=pd.to_datetime(data['出生年月'])
data['年龄']=now_year-data.出生年月.dt.year
data

9.条件统计函数--COUNTIF()函数

excel实现如下图:


pandas实现代码如下:

data.apply(lambda x : sum(data['性别']=='女'),axis =0)
考生号      3
姓名 3
性别 3
出生年月 3
语文 3
数学 3
英语 3
总分 3
等级 3
考生num 3
年龄 3
dtype: int64

10.vlookup函数

花名册表格如下:

data1 = pd.read_csv('花名册.csv',encoding='gbk')
data1

考生号姓名性别出生年月
0sccu1001马伟良2001/12/1
2sccu1003牛京田2001/5/2
3sccu1004王建国2002/4/14
4sccu1005宁丁胜1999/2/24
5sccu1006刘华2000/1/28
6sccu1007孙苛示2001/7/16
7sccu1008安也卫2000/8/30
8sccu1009成功2000/4/9

成绩单表格如下:

data2 = pd.read_csv('成绩单.csv',encoding='gbk')
data2

考生号语文数学英语
0sccu100167.078.086
1sccu100256.073.068
2sccu100370.578.053
3sccu100467.079.574
4sccu100588.095.089
5sccu100668.570.073
6sccu100789.097.089
7sccu100890.067.592
8sccu100993.089.088

合并后的表格:

data3 = pd.merge(data1,data2[['考生号','语文','数学','英语']],how = 'left',on = '考生号')
data3


公众号后台回复「excel10」可自动获取本文代码和数据。

最后,为了方便大家学习,老表给大家准备一份pandas玩转Excel的自动化办公视频教程。这套视频即生动有趣,又通俗易懂,而且是高清视频,非常适合pandas学习者,总共30个课时,而且附带源码和数据素材,已经给大家打包准备好,获取方式如下:

扫码查看我朋友圈

获取最新学习资源

学习更多:
整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了

点赞”传统美德不能丢 

浏览 94
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报