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

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

import pandas as pd
df=pd.read_excel("test1.xlsx",sheet_name="test1")
print(df)

 输出结果如下:

2、读取多张表

添加sheet页2 test2

import pandas as pd
df=pd.read_excel("test1.xlsx",sheet_name=["test1","test2"])
print(df)

 输出结果:

3、指定页签读取数据,下标签从0开始

import pandas as pd

df2=pd.read_excel("test1.xlsx",sheet_name=[0,1])
print(df2)

 输出结果:

这里也可以指定页签读取数据

4、如果想读取所有页签的值,将sheet_name指定成None

import pandas as pd

df3=pd.read_excel("test1.xlsx",sheet_name=None)
print(df3)

 输出结果:

5、不指定sheet_name时,默认读取第一个页签数据

import pandas as pd

df4=pd.read_excel("test1.xlsx")
print(df4)

 输出结果:

b、Header:是标题行,通过指定具体的行索引,将该行作为数据的标题行,也就是整个数据的列名。默认首行数据(0-index)作为标题行,如果传入的是一个整数列表,那这些行将组合成一个多级列索引。没有标题行使用header=None

import pandas as pd

df5=pd.read_excel("test1.xlsx",sheet_name=0,header=[0,1])
print(df5)

 运行结果:

如果是多表头

import pandas as pd
df5=pd.read_excel("test1.xlsx",sheet_name=0,header=[0,1])
print(df5)

 运行结果:

c、 Names:指定列名的列表,如果数据文件中不包含列名,通过names指定列名,同时应该设置header=None。Names中不允许有重复值。

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可以大大加快解析时间并降低内存使用率。

import pandas as pd
df7=pd.read_excel("test1.xlsx",sheet_name=0,header=0,usecols=["cols1","cols2","cols3"])
print(df7)

e、 skiprows:可以选择跳过的列

import pandas as pd
df8=pd.read_excel("test1.xlsx",sheet_name=0,header=0,skiprows=[1,3])
print(df8)

 可以看到输出的行中跳过了第1行和第3行

三、pandas数据结构

posted @ 2024-07-15 12:46  leagueandlegends  阅读(16)  评论(0编辑  收藏  举报