Panda数据处理
一、 Pandas简介
Pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib第三方数据分析库,与后者共同构成python数据分析基础工具包。pandas是在numpy基础上实现的,其核心数据结构与numpy的ndarray十分相似,但pandas与numpy的关系不是替代,而是互为补充。Pandas就数据处理上比numpy更强大智能,而numpy比pandas更为基础强大。
二、安装Pandas
使用pip install numpy和pip install pandas安装numpy和pandas库
安装完成后会有pandas、numpy、python-deteutil、six这几个三方库
引入pandas
1 2 | import numpy as num import pandas as pd |
二、pandas读写数据
Pandas支持非常丰富的文件类型,也就是说,他可以读取保存多种类型的数据,比如excel文件、CSV文件,或者json文件、sql文件、html文件等。这对我们获取数据很方便,这里只讲解excel的一些常用用法,其他类型文件大同小异。
1、 read_excel():读取excel
a、 sheet_name:访问指定excel某张工作表。Sheet_name可以是str、int、list、None类型,默认值是0
举例如下:
1、读取一张sheet页
新建一张excel表,表名为test1,sheet页名为test1
1 2 3 | import pandas as pd df = pd.read_excel( "test1.xlsx" ,sheet_name = "test1" ) print (df) |
输出结果如下:
2、读取多张表
添加sheet页2 test2
1 2 3 | import pandas as pd df = pd.read_excel( "test1.xlsx" ,sheet_name = [ "test1" , "test2" ]) print (df) |
输出结果:
3、指定页签读取数据,下标签从0开始
1 2 3 4 | import pandas as pd df2 = pd.read_excel( "test1.xlsx" ,sheet_name = [ 0 , 1 ]) print (df2) |
输出结果:
这里也可以指定页签读取数据
4、如果想读取所有页签的值,将sheet_name指定成None
1 2 3 4 | import pandas as pd df3 = pd.read_excel( "test1.xlsx" ,sheet_name = None ) print (df3) |
输出结果:
5、不指定sheet_name时,默认读取第一个页签数据
1 2 3 4 | import pandas as pd df4 = pd.read_excel( "test1.xlsx" ) print (df4) |
输出结果:
b、Header:是标题行,通过指定具体的行索引,将该行作为数据的标题行,也就是整个数据的列名。默认首行数据(0-index)作为标题行,如果传入的是一个整数列表,那这些行将组合成一个多级列索引。没有标题行使用header=None
1 2 3 4 | import pandas as pd df5 = pd.read_excel( "test1.xlsx" ,sheet_name = 0 ,header = [ 0 , 1 ]) print (df5) |
运行结果:
如果是多表头
1 2 3 | import pandas as pd df5 = pd.read_excel( "test1.xlsx" ,sheet_name = 0 ,header = [ 0 , 1 ]) print (df5) |
运行结果:
c、 Names:指定列名的列表,如果数据文件中不包含列名,通过names指定列名,同时应该设置header=None。Names中不允许有重复值。
1 2 3 | import pandas as pd df6 = pd.read_excel( "test1.xlsx" ,sheet_name = 0 ,header = 0 ,names = [ "cols1" , "cols2" , "cols3" ]) print (df6) |
直接使用names进行指定会显示所有的列,包括无效选中列
d、usecols:要解析的列。默认值None所有列进行解析。使用usecols可以大大加快解析时间并降低内存使用率。
1 2 3 | import pandas as pd df7 = pd.read_excel( "test1.xlsx" ,sheet_name = 0 ,header = 0 ,usecols = [ "cols1" , "cols2" , "cols3" ]) print (df7) |
e、 skiprows:可以选择跳过的列
1 2 3 | import pandas as pd df8 = pd.read_excel( "test1.xlsx" ,sheet_name = 0 ,header = 0 ,skiprows = [ 1 , 3 ]) print (df8) |
可以看到输出的行中跳过了第1行和第3行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-07-15 HashMap与Hashtable