Pandas基础03:数据排序与增删

上一节我们介绍了通过按行索引和按列索引找出相关数据的方法。本章节将进一步介绍如何筛选数据,并对数据进行排序、增删的方法。

示例表格和上一节相同。

1.数据筛选

Python中可以通过区域筛选,即获取某几行某几列的方法得到数据。例如,我要获得曹蓉~冯缓的班级~总成绩数据,代码可以这样写

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score.iloc[0:8,4:7]
score[score['高数成绩']>80]

 

需要注意的是括号内的索引是包左不包右的 。

0:8 表示选取第0行到第7行的数据,4:7 表示选取第4列到第6列的数据。

当然,我们也可以直接指出要获取哪几列的数据,因此代码还可以这样写:

score.iloc[0:8][['班级','平均成绩','总成绩']]

得到结果是相同的。

接下来介绍条件筛选,我们可以设置条件,在制定的列中筛选出符合条件的数据。 

例如,要筛选高数成绩大于95的学生:

score[score['高数成绩']>95]

运行结果如下: 

 

我们也可以进行多个条件筛选 ,例如我要筛选出高数成绩95以上,且是一班的同学:

score[(score['高数成绩']>95)&(score['班级']==1)]

需要注意的是&前后的内容需要用括号括起来!以下是运行结果:

 

2、数据排序

我们可以调用sort_values( )函数进行排序。例如,我们对高数成绩由高到低排序:

score.sort_values(by='高数成绩',ascending=False)

"by="的后面添加需要排序的列名,ascending=False指出由高到低排序,如果省略Python将自动地由低到高排序。

代码运行后结果如下:

 

3、数据增删

在数据处理时我们常常需要添加新的数据或者删除错误数据,这里简单介绍一下数据增删的操作。

例如,我们想在表格中增加小王同学的成绩信息,就可以使用loc添加行:

score.loc[118]=['小王','89','88','90','1','89','267','1','合格']

代码打印如下: 

 

如果想新增一列,则可以这样写:

score['年级']=2022

表格中多了年级这一列,并且每个同学的年级都是2022。

 

 要修改特定的值依然可以通过loc来操作。例如,我要将小王的年级改为2023年:

score.loc[score['姓名'] == '小王', '年级'] = 2023

 

接下来介绍如何删除指定的列,共有两种方法:

1. 使用pop( )方法:

score.pop('总成绩‘)

2. 使用drop( )方法

score=score.drop(columns=['总成绩']) 

程序运行后,总成绩这一列就被删除了。 

 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值