首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python中的“Excel” |17 Pandas库

Python非常强大,原因之一就是它有丰富的类库。这次我们体验一下Pandas库,用python处理excel数据。

读取和保存

首次使用pandas时需要安装这个库,安装方法可参考第15期。

安装完成后,我们正式开始。

首先,使用import pandas把pandas库导入。一般,由于pandas单词太长,我们给他起个别名:

这样,后面就可以使用pd代替pandas了。

接下来,我们准备一个excel文件。

这里,保存的文件名叫做"data.xlsx",把它放在了和代码文件同级的目录下。

开始读取文件,我们用pd.read_excel("文件名")来读取

现在doc中储存的就是excel表中的内容了。打印出来:

读取可以了,怎样保存呢?把刚才的doc保存成新的excel文件"newdata.xlsx"可以这样写:

如图,在经过左边代码运行之后,桌面上产生了新文件"newdata.xlsx"。

打开newdata,对比一下:

新文件中多了第一列,这是怎么回事呢?原来,保存文件时,默认会添加一列序号,如果不想要,保存时可以多加一个"index=False":

这样就没有那一列了。

另外,to_excel还有其他参数,比如,columns可以选择保存哪些列。举个例子,要保存name和score1,可以加上"columns=["name","score1"]"。这样写:

数据求和

我们把三个score列相加,计算一个总分,放在一个叫做"sum"新列上。这个场景好像似曾相识,在io文件读写那一期,我们用循环一行行地读入,然后相加操作,效率很低。

有了pandas,我们可以直接一行搞定!

我们在这行操作前后都加一个print,看看效果:

可以看到,最后一列就是前面的加和!

数据排序

得到了总分,我们要根据总分进行排序。一句话解决:

by="sum",意思就是根据sum这一列来排序。执行这句话后,sort_result里储存的就是排序后的结果。

完整代码如下:

注意,默认情况sort_values按照升序排列,如果要从大到小,则需要加一个"ascending=False"。

好啦!排序完成!

不过,这里还有一个tip!我们使用sort_result来储存排序后的结果,默认原来的doc是没有改变的

如果希望直接在doc里改变数据,不再用另外一个变量来存排序结果,可以加上"inplace=True",意思是直接在原位置改变顺序。

数据筛选

得到了全班同学的总成绩,老师想挑出来总分达到270的同学奖励一朵小红花。

excel中有一个筛选功能可以实现,那么用pandas如何操作呢?

使用loc功能!loc[]里面放筛选条件,用()括起来,比如这个例子:

可以把总分达到270的同学筛选出来。

完整代码:

筛选也可以有多个条件,比如满足三科都达到80的同学,可以这样筛选:

每个筛选条件用()括起来,中间用&隔开,&可以理解为“并且”。

注意!省去这三个()会报错!

完整代码:

快去动手编码尝试下吧!

点个在看你最好看~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210308A0B6DP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券