赞
踩
- conda install numpy
-
-
-
- # 或 pip install numpy
numpy.__version__
- import numpy as np
- np.array(
- object : 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
- dtype : 数据类型 可选
- copy : 可选,默认为true,对象是否被复制。
- order : 可选,指定数组的内存布局
- subok : 可选,如果为True,则将传递子类,否则返回的数组将被强制为基类数组(默认)
- ndmin : 指定返回数组的最小维数
-
-
- )
案例:
- np.arange(
- start : 默认为0,开始的值
- stop : 结束值
- step : 步长,每两个数之间的差值
- dtype : 指定数组的类型
-
- )
注意:返回的数组是包含start,不包含stop; step值填写,start的也一定要填写
- np.ones(
- shape : 数组的形状 例如 (2,3)或者 '2'
- dtype : 数据类型 可选
- order : 可选,默认C 以行主方式存储数据 ;F 以列主方式存储数据
- )
-
- np.ones_like(
- obj : 对象,返回一个与obj形状类似且全为1的数组
- dtype : 定义数组类型 可选
- order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据,默认K,与obj形状布局越接近越好
-
- )
- np.zeros(
- shape : 全为0的数组的形状
- dtype : 指定数据类型
- order : 默认为C ,以行主方式来存储多为数据,F以列主方式来存储多维数据
- )
-
-
- np.zeros_like(
-
- obj : 对象,返回一个与obj形状类似且全为0的数组
- dtype : 定义数组类型 可选
- order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据 默认K,与obj形状布局越接近越好
- )
dtype
的未初始化数组- np.empty(
- shape, :空数组的形状,整数或整数元组
- dtype = float, : 指定数据类型,默认为float
- order = 'C' : 'C'为按行的 C 风格数组,'F'为按列的 Fortran 风格数组
- )
-
- np.empty_like(
- obj : 对象,返回一个与obj形状类似且全为空的数组
- dtype : 定义数组类型 可选
- order : 可选,C 以行主方式存储数据 ;F 以列主方式存储数据 默认K,与obj形状布局越接近越好
- )
-
- np.eye(
- num : 输出num行num列的的单位矩阵
- dtype : 指定数据类型
- )
-
-
- np.identity(
- num : 输出num行num列的的单位矩阵
- dtype : 指定数据类型
- )
- np.full(
- shape : 数组的形状 元组和整数都行 例如 (2,3) 2
- fill_value :填充的值
- dtype : 指定的数据类型
- )
-
-
- np.full_like(
- a : 已有数组对象
- fill_value :填充的值
- )
- np.logspace(
- start 次幂的起始值
- stop 次幂的结束值
- num=50 可选,需要生成的样本数
- endpoint=True 可选,是否包含stop次幂的结束值
- base=10.0 可选 , log的底数
- dtype=None 可选 ,指定数据类型
- axis=0 维度 0表示竖直方向,1表示水平方向
-
- )
创建数组的时候,可使用dtype指定数组中元素的类型如果没指定,根据元素类型进行推断,如果类型不同,会选择兼容类型,可以使用astype函数转换数据类型
- np.reshape(
- obj : 数组对象
- shape : 数组的形状 元组格式 例如(2,3)
- order : 数组元素存储的方式 C 按行为主, F按列为主
- )
- # 索引与切片
-
- # 在python中,序列类型支持索引与切片。 ndarray 数组也支持类似的操作。不过两者之前既有相同点,也有不同点
-
- # 相同点: 数组对象也支持索引与切片,语法python 中索引与切片类似
-
- # 不同点: 数组切片返回的原数组数据视图。如果需要复制底层数组元素,可使用数组对象copy方法
-
- # 注意: 视图共享底层数组元素
-
-
- 我们可以通过布尔数组对数组进行索引,获取对应的元素,获取数据原则::为True,获取对应位置,为False,不获取。
- 说明:
- 索引布尔数组通过对现有数组计算得到
- 逻辑运算符和python 不同: and ->& ,or ->|,not->~,条件组合时候,条件需用小括号
- # 三种方法
- # 第一种
- # np.reshape()
-
-
-
- # 第二种方法
- # np.ravel/ravel
-
- # 第三种
- # flatten
-
- # ravel和flatten区别 两者区别在于,ravel返回数组原数组共享数据,而flatten返回原数组拷贝
- Numpy 提供很多通用函数,他可以看做对应python计算向量化版本
- 1. abs/fabs :绝对值
- 2. ceil/floor : 浮点数取整 ceil整数部分+1 /floor 取整数部分
- 3. exp
- 4. log/log2/log10
- 5. modf : 整数和小数部分 小数在前 整数在后
- 6. sin/sinh/cos/cosh
- 7. sqrt
- # 统计函数
- Numpy具有如下常用统计函数
- 1. mean/sum 均值/和
- 2. max/min 最大值/最小值
- 3. argmax/argmin 最大值对应的索引值/最小值对应的索引值
- 4. std/var 标准差/方差
- 5. cumsum/cumprod 累加和/累乘
-
- 注意: 统计函数如果只传入数组对象的话,他会对数组首先进行一个扁平化处理,在对扁平化后的一维数组的所有数据进行统计
- # 轴(axis)
- 可以指定axis参数改变统计的轴。在二维数组中,0表示竖直方向操作,1表示沿水平方向操作
- 超过二维的多维数组,轴相对复杂,可认为沿着轴所指定坐标变化方向,进行操作。比如轴是0,则根据第0个坐标变化方向
- 1. np.concatenate 对多个数组按指定轴方向进行连接
- 2. np.vstack/np.hstack 竖直方向连接/水平方向连接
- 3. np.split/np.hsplit/np.vsplit
- 1. any/all : 0 和 None,返回False 其他返回True
- 2. transpose : 对数组数据进行转置
- 3. dot :对矩阵乘法进行运算
- 4. np.sort : 数组内容排序
- 5. np.argsort :数组里面元素对应的索引排序
- 6. np.tile : 复制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。