Numpy与Pandas基础
Numpy与Pandas基础
计算机小白
关注他
1 人赞同了该文章
本文包括:
- 一维数据分析
- 二维数据分析
一、一维数组
- Numpy的一维数组(array)
创建一个一维数组,参数传入的是一个一维列表[2,3,4,5]
注意:序号是从0开始
(1)三种访问一维数组元素的方法:
- 根据序号查询元素:a[0]
- 切片:三个参数 [start_index : stop_index : step]
start_index是切片的起始位置
stop_index是切片的结束位置(不包括)
step可以不提供,默认值是1,步长值不能为0,不然会报错ValueError
- 循环访问:
for i in a:
(2)查看数据类型:dtype()函数
(3)与列表list的区别
- 统计功能:
平均值函数mean():
标准差函数std():
- 向量化运算:
向量相加:即对位相加
向量乘以标量
- 注意:numpy中的元素必须是同一种数据类型,列表中的元素可以不是同一种数据类型。
2.Pandas的一维数组(series)
(1)创建一维数组:Series相较于Array多了索引,可以在定义的时候需要指定或忽视索引。
- 通过一维数组或者列表创建
- 通过字典的方式创建
(2)常用的获取描述统计信息函数
- 描述统计信息:describe()
- 根据索引获取值: iloc()
- 根据索引获取值:loc()
- 向量相加:
两向量s1和s2相加得s3
方法一:
方法二:
小结:在numpy和pandas这两个包中,都有表示一维数据的特殊数据结构。在pandas中,一维数据结构是Series。在numpy中,一维数据结构是数组Array。Series 的功能相对numpy的Array要更多,因为Series是建立在Numpy至上的
二、二维数组
- Numpy的一维数组(array)
定义一个二维数组:
所创二维数组如图所示,行号和列号都是从0开始计数
(1)常用的基本操作
- 查询元素
- 获取第一行(切片):
注意:第一行的行号为0
- 获取第一列(切片):
(2)Numpy数轴参数
- 轴:在numpy中可以理解为方向,使用0,1,2数字表示。对于一个一维数组,只有一个0轴,对于2维数组(shape(2,2))只有0轴和1轴,对于3维数组(shape(2,2,3))有0,1,2轴。意义:有了轴的概念后,我们计算会更加方便,比如计算一个2维数组的平均值,必须指定是计算哪个方向上面数字的平均值。
二维数组的轴:
当axis=1的时候,统计值按行来进行计算
当axis=0的时候,统计值按列来进行计算
- 常用计算:
平均值(mean)计算
2.Pandas二维数组(DataFrame)
创建一个有序二维数组:
(1)常见分析操作:
- iloc属性用于根据位置查询值:查询元素:变量名.iloc[元素所在的行,元素所在的列]
上图为:查询某一元素
上图为:查询某一行
上图为:查询某一列
- loc属性用于根据索引获取值:变量名.loc[元素所在的行,需查询的列名]
上图为:查询某一元素
上图为:查询某一行
上图为:查询某一列
(2)复杂查询:
- 切片功能
- 条件判断
筛选出销售数量大于1的药品
#通过条件判断筛选
#第1步:构建查询条件
querySer=salesDf.loc[:,'销售数量']>1
print(type(querySer))
print(querySer)
salesDf.loc[querySer,:]
(3)查看数据集描述统计信息
- 打印出前三行
- 查看数据大小
- 查看某一列的数据类型
- 查看每一列的统计数值
小结:在二维数组上,DataFrame相较于Array有两个优点:1.每列的数据可以是不同的类型。2.具有索引功能(类似于Series),每行和每列都有索引值