python数据分析与展示——Numpy库入门
2019-05-06 11:17
218 查看
在Python中进行数据分析会用到一些模块,使用比较多的有Numpy、Matplotlib、pandas这三个基本的库。这一节主要介绍Numpy 库的基本的使用。
数据的维度
维度:也就是一组数据的组织形式
列表和数组都可以表达一组数据的有序结构,区别在于,列表中的元素类型可以不同,数组中的元素类型补休相同。
一维数据:列表或者集合
二维数据:列表(二维数据由多个一维数据构成,表格是典型的二维数据,表头也是数据的一部分)
多维数据:列表(一维或者二维数据在新的维度上扩展)
高维数据:字典或者数据表示格式(仅利用最基本的二元关系展示数据的复杂结构)
数据表示格式:JSON、XML、YAML
Numpy库
Numpy是Python科学计算的基础库,主要提供了以下功能:
- Numpy提供了强大的N维数组对象
- 提供了广播功能函数
- 提供了傅里叶变换、线性代数、随机数生成等功能
Numpy数组的创建
- 使用python列表、元祖创建数组
a=np.array([1,2,3,4]) a=np.array((1,2,3,4))
- 使用Numpy提供的函数创建数组
np.arange(n) --生成一个从0到n-1的一维数组 np.ones(shape) --生成一个全1的shape形状的数组 np.zeros(shape) --生成一个全0的shape形状的数组 np.full(shape,values) --生成一个都是value的shape形状的数组 np.eye(n) -- 生成一个n阶单位矩阵 np.ones_like(a) --生成一个类似于a的全1数组 np.zeros_like(a) --生成一个类似于a的全0数组 np.full_like(a,val) --生成一个类似于a的指定value值的数组 np.linspace(a,b,n,endpoint=False) 根据起始数据等间距的填充n合格数据,通过参数设置最后一个数据是否在生成的队伍中 np.concatenate((a,b)) 将a与b两个数组合并在一起
- 使用字节流创建数组
- 从文件中读取特定格式,创建数组
数组对象的属性
.ndim | 数组对象的尺维度 | a.ndim |
---|---|---|
.shape | 数组对象的尺度,对于矩阵n*m | a.shape |
.size | 数组对象元素的大小,共多少个元素 | a.size |
.dtype | 数组对象中元素的类型 | a.dtype |
.itemsize | 数组对象中每个元素的大小,以字节为单位 | a.itemsize |
数组对象维度的变换
对于定义好的数组,可以进行维度的变换
.reshape(shape) | 不改变原数组 | a.reshape((3,4)) |
---|---|---|
.resize(shape) | 修改原数组 | a.resize((3,4)) |
…swapaxes(ax1,ax2) | 将数组对象的两个维度进行调换 | a.swapaxes(0,1) |
.flatten() | 对数组进行降维,返回一维数组,原数组不变 | a.flatten() |
数组元素类型的变换
对于定义好的数组,可以进行数组元素类型的变换
.astype(newtype) | astype方法一定会创建一个新的数组,即使两个类型一致 | a.astype(np.int) |
---|---|---|
.tolist() | 数组向列表的转换 | a.tolist() |
数组的索引与切片
索引:获得特定位置数组元素的过程
切片获得数组的子数组的过程
维度 | 索引 | 切片 |
---|---|---|
一维数组 | a |
a[::] |
多维数组 | a[x,y,z] | a[ : : , : : , : : ] |
数组的运算
- 数组与标量之间的运算
数组与标量之间的运算作用于数组的每一个元素 - Numpy的一元函数
np.abs(x) ,np.fabs(x) | 计算绝对值 |
---|---|
np.sqrt(x) | 计算各组元素的平方根 |
np.square(x) | 计算各组元素的平方 |
np.log(x) ,np.log10(x) ,np.log2(x) | 计算各组元素的对数值 |
np.ceil(x),np.floor(x) | 计算各组元素的ceiling值或者是floor值 |
np.rint(x) | 计算各组元素的四舍五入值 |
np.modf(x) | 将各组元素的小数与整数部分以两个独立的形式返回 |
np.cos(x) np.cosh(x) | 计算各组元素的三角函数值 |
np.exp(x) | 计算各组元素的指数值 |
np.sign(x) | 计算各组元素的符号1(+),-1(-),0 |
- Numpy的二元函数
+ - * / ** | 将链各个数组各元素进行相应运算 |
---|---|
np.maximun(x,y),np.minimum(x,y),np.fmax(),np.fmin() | 元素级的最大最小值 |
np.mod(x,y) | 元素级的模运算 |
np.copysign(x,y ) | 将数组y中各元素值的符号赋值给数组x对应元素 |
> < >= <= != == | 算术比较,产生布尔型结果 |
相关文章推荐
- Python数据分析与展示(1)——NumPy库入门
- Python数据分析与展示(3)——Matplotlib库入门
- 利用Python数据分析:pandas入门(六)
- Python数据分析入门知识点总结
- Python数据分析与展示 | 【第一周】数据分析之表示 课后作业
- Python数据分析入门
- 如何入门Python数据分析的清单
- Python数据分析入门-Pandas环境搭建
- 2019最新全套七月Python基础入门+进阶熟练班+ 数据分析班+爬虫项目
- python数据分析及展示(二)
- Python数据分析入门之pandas基础总结
- Python数据分析与展示 | 【第二周】数据分析之展示 课后作业
- python数据分析入门学习笔记儿
- python数据分析与展示(一)
- Python数据挖掘入门与实践(四)——亲和性分析
- python数据分析入门学习笔记儿
- Python数据分析入门(一)-- 重要的Python科学计算库简介
- 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
- 利用python进行数据分析-pandas入门
- Python数据分析入门 -- Anaconda