Python Numpy 入门
2017-10-26 00:04
357 查看
numpy是一个基础的进行科学计算的第三方库
一、数据维度
一维数据:
一维数据由对等关系的有序或无序数据构成采用线性方式组织
例如:3.1413, 3.1398, 3.1468,3.1349,3.1376
对应列表、数组和集合等概念
一维数据的有序结构
列表:数据类型可以不同
数组:数据类型相同
二维数据
二维数据由多个一维数据构成,是一维数据的组合形式
例如:表格就是一个典型的二维数据
高维数据
利用最基本的二元关系展示数据见的复杂结构,例如键值对
数据维度的python表示
一维数据: 列表(有序)和集合(无序)类型
二维数据:列表类型
三维数据:列表类型
高维数据:字典类型 或数据表示格式
例如JSON、XML、YAML
二、NumPy的数组对象: ndarray
NumPy是一个开源的Python科学计算基础库,包括
1.一个强大的N维数组对象 ndarray
2.广播功能函数
3.整合c/c++/Fortran代码的工具
4.线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础
NumPy的引用
import numpy as np (引入模块的别名)
尽管别名可以省略或更改,建议使用上述约定的别名
Python已有列表类型,为什么需要一个数组对象(类型)?
1.数组对象可以去掉原书记安运算所需的循环,使一维向量更像单个数据
2.设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有的数据类型往往相同
3.数据对象采用相同的数据类型,有足浴节省运算和存储空间
ndarray是一个多维度组对象,由两部分构成:
1.实际的数据
2.描述这些数据的元数据(数据维度、数据类型等)
ndarray数据一般要求所有元素类型相同(同质),数组下标从0开始
ndarray在程序中的别名是:array
可用np.array()生成一个 ndarray数组
np.array()输出成[] 形式,元素由空格分割
import numpy as np
使用 Anaconda中的IPython进行学习
三、ndarray对象的属性
(1) .ndim : 轴的数量或维度的数量
(2) .shape : ndarray对象的尺度,对于矩阵,n行m列
(3) .size : ndarray对象袁术的个数,相当于 .shape中 n*m的值
(4) .dtype : ndarray对象的元素类型
(5) .itemsize : ndarray对象中每个元素的大小
ndarray实例:
三、ndarray的元素类型
bool:布尔类型,True或False
intc : 与C语言中的int类型一致,一般是int32 或者 64
intp : 用于索引的整数, 与C语言中的ssize_t 一致,int32或int64
int8 : 字节长度的整数
int16: 16位长度的整数
int32 : 32位长度的整数
int64 :64位长度的整数
uint8 : 8位无符号整数
uint16:16位无符号整数
uint32 : 32位无符号整数
uint64 : 64位无符号整数
float16 :16位半精度浮点数
float32 : 32位半精度浮点数
float64 : 64位半精度浮点数
complex64 复数类型,实部和虚部都是32位浮点数
complex128 复数类型,实部和虚部都是64位浮点数 (real + j*imag)
四、ndarray数组的创建方法
np.arange(n) : 类似range()函数,返回 ndarray类型,元素从0到n-1 (默认类型为整型)
np.ones(shape) : 根据shape生成一个全1数组,shape是元组类型 (默认类型为浮点型)
np.zeros(shape) : 根据shape生成一个全0数组,shape是元组类型 (默认类型为浮点型)
np.full(shape, val) : 根据shape生成一个数组,每个元素值都是val
np.eye(n) : 创建一个正方的n*n的单位矩阵,对角线为1,其余为 0 (默认类型为浮点型)
np.ones_like(a) :根据数组a的形状生成一个全1数组
np.zeros_like(a) : 根据数组a的形状生成一个全0 数组
np.full_like(a, val) : 根据数组a的形状生成一个数组,每个元素值都是val
np.linspace() : 根据起止数据间距滴填充数据,形成数组
np.concatenate() 将两个或多个数组合并成一个新的数组
五、ndarray数组的维度变换
.reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape) 与 .reshape()功能一致,但修改原数组
.swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
.flatten() : 对数组进行降维,返回折叠后的一堆数组,原数组不变
ndarray数组类型变换
astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致
new_a = a.astype(new_type)
ndarray数组向列表的转换
ls = a.tolist()
六、ndarray数组操作
数组的索引和切片
索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
一维数组的索引和切片:与python的列表类型
b = np.array([9, 8, 6, 5])
b[2]
Out[5]: 6
b[1 : 4 : 2]
Out[6]: array([8, 5])
多维数组的切片
1.选取一个维度用 :
2.每个维度的切片方法与一维数组相同
3.每个维度可以使用补偿跳跃切片
七、ndarray数组的运算
a.mean() : 计算a与袁术平均值的商
np.abs(x) np.fabs(x) : 计算数组各元素的绝对值
np.sqrt(x) : 计算数组各元素的平方根
np.square(x) :计算数组各元素的平方
np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数、10底对数和2底对数
np.ceill(x) np.floor(x) 计算数组各元素ceiling值 或 floor值
Numpy一元函数
np.rint(x) : 计算数组各元素的四舍五入值
np.modf(x) :将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x) np.cosh(x)
np.sin(x) np.sinh(x) 计算数组各元素的普通型和双曲型三角函数
np.tan(x) np.tanh(x)
np.exp(x) 计算数组各元素的普通型和双曲型三角函数
np.sign(x) 计算数组各元素的符号值, 1(+),0, -1(-)
NumPy二元函数
/ ** 两个数组各元素进行对应运算
np.maximum(x,y) np.fmin()
np.minimum(x,y) np.fmin() 元素级的最大值/最小值计算
np.mod(x, y) 元素级的模运算
np.copysign(x, y) 将数组y中各元素值的符号复制给数组x对应元素
< >= <= == != 算数比较,产生布尔型数组
喜欢python的小伙伴可以关注我公众号
纯干货技术分享:
一、数据维度
一维数据:
一维数据由对等关系的有序或无序数据构成采用线性方式组织
例如:3.1413, 3.1398, 3.1468,3.1349,3.1376
对应列表、数组和集合等概念
一维数据的有序结构
列表:数据类型可以不同
数组:数据类型相同
二维数据
二维数据由多个一维数据构成,是一维数据的组合形式
例如:表格就是一个典型的二维数据
高维数据
利用最基本的二元关系展示数据见的复杂结构,例如键值对
数据维度的python表示
一维数据: 列表(有序)和集合(无序)类型
二维数据:列表类型
三维数据:列表类型
高维数据:字典类型 或数据表示格式
例如JSON、XML、YAML
二、NumPy的数组对象: ndarray
NumPy是一个开源的Python科学计算基础库,包括
1.一个强大的N维数组对象 ndarray
2.广播功能函数
3.整合c/c++/Fortran代码的工具
4.线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础
NumPy的引用
import numpy as np (引入模块的别名)
尽管别名可以省略或更改,建议使用上述约定的别名
Python已有列表类型,为什么需要一个数组对象(类型)?
1.数组对象可以去掉原书记安运算所需的循环,使一维向量更像单个数据
2.设置专门的数组对象,经过优化,可以提升这类应用的运算速度
观察:科学计算中,一个维度所有的数据类型往往相同
3.数据对象采用相同的数据类型,有足浴节省运算和存储空间
ndarray是一个多维度组对象,由两部分构成:
1.实际的数据
2.描述这些数据的元数据(数据维度、数据类型等)
ndarray数据一般要求所有元素类型相同(同质),数组下标从0开始
ndarray在程序中的别名是:array
可用np.array()生成一个 ndarray数组
np.array()输出成[] 形式,元素由空格分割
import numpy as np
使用 Anaconda中的IPython进行学习
import numpy as np a = np.array([[0, 1, 2, 3, 4], [9, 8, 7, 6, 5]])
三、ndarray对象的属性
(1) .ndim : 轴的数量或维度的数量
(2) .shape : ndarray对象的尺度,对于矩阵,n行m列
(3) .size : ndarray对象袁术的个数,相当于 .shape中 n*m的值
(4) .dtype : ndarray对象的元素类型
(5) .itemsize : ndarray对象中每个元素的大小
ndarray实例:
a.ndim Out[35]: 2 a.shape Out[36]: (2, 5) a.size Out[37]: 10 a.dtype Out[38]: dtype('int32') a.itemsize Out[39]: 4
三、ndarray的元素类型
bool:布尔类型,True或False
intc : 与C语言中的int类型一致,一般是int32 或者 64
intp : 用于索引的整数, 与C语言中的ssize_t 一致,int32或int64
int8 : 字节长度的整数
int16: 16位长度的整数
int32 : 32位长度的整数
int64 :64位长度的整数
uint8 : 8位无符号整数
uint16:16位无符号整数
uint32 : 32位无符号整数
uint64 : 64位无符号整数
float16 :16位半精度浮点数
float32 : 32位半精度浮点数
float64 : 64位半精度浮点数
complex64 复数类型,实部和虚部都是32位浮点数
complex128 复数类型,实部和虚部都是64位浮点数 (real + j*imag)
四、ndarray数组的创建方法
np.arange(n) : 类似range()函数,返回 ndarray类型,元素从0到n-1 (默认类型为整型)
np.ones(shape) : 根据shape生成一个全1数组,shape是元组类型 (默认类型为浮点型)
np.zeros(shape) : 根据shape生成一个全0数组,shape是元组类型 (默认类型为浮点型)
np.full(shape, val) : 根据shape生成一个数组,每个元素值都是val
np.eye(n) : 创建一个正方的n*n的单位矩阵,对角线为1,其余为 0 (默认类型为浮点型)
np.ones_like(a) :根据数组a的形状生成一个全1数组
np.zeros_like(a) : 根据数组a的形状生成一个全0 数组
np.full_like(a, val) : 根据数组a的形状生成一个数组,每个元素值都是val
np.linspace() : 根据起止数据间距滴填充数据,形成数组
np.concatenate() 将两个或多个数组合并成一个新的数组
五、ndarray数组的维度变换
.reshape(shape) 不改变数组元素,返回一个shape形状的数组,原数组不变
.resize(shape) 与 .reshape()功能一致,但修改原数组
.swapaxes(ax1,ax2) 将数组n个维度中两个维度进行调换
.flatten() : 对数组进行降维,返回折叠后的一堆数组,原数组不变
ndarray数组类型变换
astype()方法一定会创建新的数组(原始数据的一个拷贝),即使两个类型一致
new_a = a.astype(new_type)
ndarray数组向列表的转换
ls = a.tolist()
六、ndarray数组操作
数组的索引和切片
索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
一维数组的索引和切片:与python的列表类型
b = np.array([9, 8, 6, 5])
b[2]
Out[5]: 6
b[1 : 4 : 2]
Out[6]: array([8, 5])
多维数组的切片
1.选取一个维度用 :
2.每个维度的切片方法与一维数组相同
3.每个维度可以使用补偿跳跃切片
七、ndarray数组的运算
a.mean() : 计算a与袁术平均值的商
np.abs(x) np.fabs(x) : 计算数组各元素的绝对值
np.sqrt(x) : 计算数组各元素的平方根
np.square(x) :计算数组各元素的平方
np.log(x) np.log10(x) np.log2(x) 计算数组各元素的自然对数、10底对数和2底对数
np.ceill(x) np.floor(x) 计算数组各元素ceiling值 或 floor值
Numpy一元函数
np.rint(x) : 计算数组各元素的四舍五入值
np.modf(x) :将数组各元素的小数和整数部分以两个独立数组形式返回
np.cos(x) np.cosh(x)
np.sin(x) np.sinh(x) 计算数组各元素的普通型和双曲型三角函数
np.tan(x) np.tanh(x)
np.exp(x) 计算数组各元素的普通型和双曲型三角函数
np.sign(x) 计算数组各元素的符号值, 1(+),0, -1(-)
NumPy二元函数
/ ** 两个数组各元素进行对应运算
np.maximum(x,y) np.fmin()
np.minimum(x,y) np.fmin() 元素级的最大值/最小值计算
np.mod(x, y) 元素级的模运算
np.copysign(x, y) 将数组y中各元素值的符号复制给数组x对应元素
< >= <= == != 算数比较,产生布尔型数组
喜欢python的小伙伴可以关注我公众号
纯干货技术分享:
相关文章推荐
- Python中的Numpy入门教程
- Python中的Numpy入门教程
- Python入门--6--今天抄袭人家一篇日志--numpy这个
- Python中的Numpy入门教程
- Python中的Numpy入门教程
- python+opencv+numpy入门
- Python 机器学习库 NumPy入门教程
- Python中的Numpy入门教程
- [Python]Numpy入门教程
- 使用python进行科学计算:Numpy入门
- Python NumPy入门归纳~持续更新
- Python中的Numpy入门教程
- Python:基本运算、基本函数及NumPy入门
- [python之数据分析] 基础篇1- Numpy,Scipy,Matplotlib 快速入门攻略
- [笔记]我的Linux入门之路 - 05.Eclipse的Python开发环境搭建与Numpy、Scipy库安装
- Python科学计算之NumPy入门教程
- python module使用之----Numpy(快速入门)
- [python之数据分析] 基础篇1- Numpy,Scipy,Matplotlib 快速入门攻略
- Numpy入门:如何在Python中用于科学计算?
- 【Python】Numpy简单入门