Pandas基础02:文件操作

上一节我们介绍了自己创建DataFrame的基本操作。但是在实际应用中我们往往需要处理已有的excel数据表,因此本节介绍一下Pandas读取文件的相关操作。

1、读取和写入文件

首先我们创建一个成绩数据——1.数学学习成绩记录表.xlsx,如图所示

read_excel() 函数用于读取 Excel 文件。其主要参数如下:

  1. 第一个参数为读取的文件路径。
  2. 第二个参数 index_col 用于设置索引列,例如 index_col=0 表示将第一列设置为索引列。
  3. 第三个参数 encoding 用于指定文件的编码方式,例如 encoding='utf-8'

实际导入文件时,只需在括号中加上文件的路径即可,如下所示:

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score

运行成功后会显示数据的前五行与后五行。

如果需要设置索引列和编码方式,可以按如下方式优化:

import pandas as pd

# 读取Excel文件,设置第一列为索引列,并指定编码方式
df = pd.read_excel('文件路径.xlsx', index_col=0, encoding='utf-8')

接下来介绍一个将处理好的数据写入新的文件的操作。如果想要保存为excel文件,可以使用to_excel操作。运行成功后就可以在电脑上找到对应文件。

score.to_excel('final.xlsx')  #写入数据到excel

2、查看数据信息

第一节提到,当 Python 成功读取 Excel 文件后,打印表格时默认会显示前五行和后五行的数据。除此之外,我们还可以使用 score.head() 方法查看文件的头部数据,以及使用 score.tail() 方法查看文件的底部数据。这些方法可以帮助我们快速浏览文件的主要内容。

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score.head()

 

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score.tail()

 

除此之外,我们还可以调用score.describe( )方法,查看数据的其他信息包括计数、均值、标准差、最小值、四分位数和最大值。这些方法可以帮助我们全面了解数据的基本情况。

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score.describe()

如上图所示:

count:计算对应属性下所有非null数据的条数。

mean、max、min:分别表示所有数据的平均值、最大值、最小值。

std:观测值的标准差。

百分数:对应百分位的大小值。

 3、索引与数据操作

3.1按列索引

获取高数成绩数据:score.高数成绩

获取线代成绩:score.线代成绩

同理,按照这样的方式我们可以获得每一列的数据。

我们也可以用方括号来索引,效果相同,如获取高数成绩数据:

score['高数成绩']

在括号中加入多个列,如:score['高数成绩','线代成绩']可以获得不同列的数据:

如果想获得某个人的高数成绩则可以这样写:

score ['高数成绩'][0]    (这里导出的是第一行曹蓉的高数成绩,行依然按照数字进行索引)

同理,我们想获得第二个同学的数据,行索引则是1。当然也可以使用切片的形式获取连续几个同学的成绩,例如,获取第二名到第五名同学的线代成绩:

import pandas as pd
score=pd.read_excel('C:\\Users\\86187\\Desktop\\1.数学学习成绩记录表.xlsx')
score['线代成绩'][1:6]

 

 3.2按行索引

选取学生成绩的第二行到第七行:

score.[1:6]

 当然,更标准的写法是:

score.iloc[1:6]

 

iloc不同于loc,loc传入的是一个具体的标签,iloc传入的是序号,行和列都是从0开始。例如,获取曹蓉的概率论成绩:

score.iloc[0,3]

同理,也可以获取一个二维范围的数据:

 获取前三位同学的班级和平均成绩数据

score.iloc[0:3,4:6]

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值