前言
Pandas是python的核心支持库,它提供了大量能使我们快速便捷地处理数据的函数和方法。文章介绍开始Pandas入门内容,从安装开始,逐步介绍Pandas相关的入门知识,包括两个主要的数据结构,即Series对象和DataFrame对象,也包括如何导入外部数据。
目录
一、Pandas统计分析
文章内所用的数据:百度网盘 请输入提取码
提取码:2255
pandas介绍:
-
Pandas 简单介绍 快速入门!!!
1.初识Pandas
1.1Pandas的概述
Pandas是python的核心支持库,它能提供快速、灵活、明确的数据结构,能够简单、直观、快速地处理各种类型的数据,例如处理SQL或Excel表格类似的数据,还能以其他形式的观测、统计数据,它的功能很多,优势显著,例如可以把python和numpy数据结构里不规则、不同索引的数据轻松地转换为DataFrame对象,还有支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能,综上所述,Pandas是处理数据的理想工具。
1.2安装pandas
1.2.1通过PyPI的pip工具安装
在系统搜索栏中输入cmd(或win键+R键打开),单机命令符提示窗口,在命令提示符后输入安装指令Pandas可以通过PyPI的pip工具安装命令如下:
1.2.2.通过PyCharm开发环境安装
除了通过pip工具安装以外,还可以通过PyCharm开发环境安装。运行PyCharm开发环境安装。运行PyCharm,选择File➡Settings命令,打开Setting窗口,选择Project Interpreter选项,然后单击+(添加)按钮,如下图。这里要注意,在Project Interpreter选项中应选择当前工程项目使用的python版本。
单击+(添加)按钮,打开 Available Packages 窗口,在搜索文本框中输入需要添加的模块名称如 pandas,然后在列表中选择需要安装的模块,如下图所示。单击 Install Package 按即可实现 Pandas模块的安装。
1.2.3导入Excel数据
Anaconda下载地址:
【示例】导入1月淘宝卖家购买数据
先导入模块,然后编写代码。
(1)运行Jupyter Notebook,创建新的notebook,在代码编辑窗口编写如下代码:
(2)运行并显示结果
2.Series对象
2.1Series
Series是 Python 的 Pandas 库中的一种数据结构,它类似一维数组,由一组数据以及与这组数据关的标签(即索引)组成,或者仅有一组数据没有索引也可以创建一个简单的 Series。Series 可以存整数、浮点数、字符串、Python 对象等多种类型的数据。
2.2创建一个Series对象
创建Series对象主要使用pandas的Series()方法,语法如下:
参数说明:
·data: 表示数据,支持 Python 字典、多维数组、标量值 (即只有大小,没有方向的量。也就是说,只是一个数值,如s=pd.Series(5)。
·index:表示行标签 (索引)。
·返回值:Series 对象。
【示例】在成绩表添加一列“物理”成绩,代码运行结果如下:
上述举例,如果通过 Pandas 模块引入 Series 对象,那么就可以直接在程序中使用 Series 对象了主要代码结果运行如下:
2.3手动设置Series索引
【示例】手动设置索引
下面手动设置索引,将 3.2.1 节添加的“物理”成绩的索引设置为 1、2、3,也可以是“明日同学“高同学”“七月流火”。程序代码及运行结果如下:
2.4Series的索引
2.4.1.Series位置索引
【示例】通过位置索引获取学生物理成绩。
获取第一个学生的物理成绩。程序代码及运行结果如下:
注意:Series不能使用[-1]定位索引
2.4.2Series标签索引
Series 标签索引与位置索引方法类似,用[]表示,里面是索引名称,注意 imdex 的数据类型是字符串,如果需要获取多个标签索引值,用[[]]表示(相当于[]中包含一个列表。
【示例】通过标签索引获取学生物理成绩。
通过标签索引“明日同学”和“七月流火”获取物理成绩,程序代码及运行结果如下:
2.4.3切片索引
用标签索引做切片,包头包尾(即包含索引开始位置的数据,也包含索引结束位置的数据)。
【示例】通过切片获取数据。
通过标签切片索引“明日同学”至“七月流火”获取数据。程序代码及运行结果如下:
【示例】通过位置切片获取数据。
通过位置切片 1~4 获取数据,程序代码及运行结果如下:
2.5获取索引和值
获取 Series 索引和值主要使用 Series 的index 和 values 方法。
【示例】获取物理成绩的索引和值。
下面使用 Series的 index 和values 方法获取物理成绩的索引和值,程序代码及运行结果如下:
3.DataFrame对象
3.1图解DataFrame对象
DataFrame是一个二维表数据结构,由行、列数据成的表格。DataFrame 既有行索引也有列索引,它可以看作是由 Series 对象组成的字典,不过这些 Series 对象共用一个索引,如图所示:
【示例】遍历 DataFrame 数据。
遍历DataFrame数据,输出成绩表的每一列数据,程序代码及运行结果如下:
3.2创建一个DataFrame对象
创建 DataFrame主要使用 Pandas 的 DataFrame0方法,语法如下:
·data:表示数据,可以是ndaay数组、Series 对象、列表、字典等
·index:表示行标签(索引)。
· columns:列标签(索引)。
·dtype:每一列数据的数据类型,其与yhon 数据类型有所不同,如 objet 数据类型对应的是
Python 的字符型。表3.1为Pandas数据类型与 Python 数据类型的对应表。
3.2.1通过二维数组创建DataFrame
【示例】通过二维数组创建成绩表
通过二维数组创建成绩表包括语文、数学和英语,程序代码及运行结果如下:
3.2.2通过字典创建DataFrame
通过字典创建 DataFrame需要注意:字典中的 aue 值只能是一维数组或单个的简单数据类型如果是数组,要求所有数组长度一致:如果是单个数据,则每行都添加相同数据。
【示例】通过字典创建成绩表。
通过字典创建成绩表,包括语文、数学、英语和班级,程序代码及运行结果如下:
上述代码中,“班级”的 value 值是一个单个数据,所以每一行都添加了相同的数据“高一7班“。
3.3DataFrame重要属性和函数
重要属性
属性 | 描述 | 举例 |
values | 查看所有元素的值 | df.values |
dtypes | 查看所有元素的类型 | df.dtypes |
index | 查看所有行名、重命名行名 | df.index df.index=[1,2,3] |
columns | 产看所有列名,重命名列名 | df.columns df.columns=[语,数,外] |
T | 行列数据转换 | df.T |
head | 查看前N条数据,默认5条 | df.head0 df.head(10) |
tail | 查看后N条数据,默认5条 | df.tail0 dftail(10) |
shape | 查看行数和列数shape[0]表示行,shape[I]表示列 | df.shape[0] df.shape[l] |
info | 查看索引、数据类型和内存信息 | df.info |
重要函数
1.describe:描查看每列的统计汇总信息,DateFrame类型
2.count:返回每一列非空值的个数
3.sum:返回每一列的和,无法计算的返回空值
4.max:返回每列的最大值
5.min:返回每列的最小值
4.导入外部数据
4.1常规导入Excel文件
【示例】导入Excel文件
导入”1月.xlsx“Excel文件,程序代码及结果如下:
使用绝对路径导入文件
4.1.1指定索引导入Excel数据
【示例】指定索引导入Excel数据
如果通过指定行索引导入Excel数据,则需要设置index_col参数。下面将”买家会员名“作为行索引(位于第0列),导入Excel数据,程序代码及结果如下:
4.1.2导入指定数据
一个Excel往往包含多列数据,如果只需要其中几列,可以通过usecols参数指定需要的列,从0开始(表示第1列,以此类推)
【示例】导入第1列数据
下面导入第1列数据(索引为0),程序代码及结果如下:
4.2导入.csv文件
【示例】导入.csv文件,程序代码及结果如下:
4.3导入.txt文本文件
【示例】导入.txt文本文件,程序代码及结果如下:
5.数据的抽取
5.1抽取一行数据
[示例19] 抽取一行考试成绩数据。
抽取一行名为“明日”的考试成绩数据(包括所有列),程序代码及结果如下:
5.2抽取多行数据
5.2.1抽取多行数据
【示例】抽取多行数据
抽取行名为“明日”和“高袁圆”(即第1行和第3行数据)的考试成绩数据,可以使用 loc 属也可以使用 iloc 属性,其输出结果都是一样的,主要代码如下:
df1=df.loc[['明日','高袁圆']]
df1=df.iloc[[0,2]]
运行程序,输出结果: