前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Numpy 常用函数和属性(一)

Numpy 常用函数和属性(一)

作者头像
用户6021899
发布2019-08-14 16:03:50
4870
发布2019-08-14 16:03:50
举报

numpy数组的 常用属性:

.ndim :维度

代码语言:javascript
复制
>>> a =np.array([[1, 1, 1],[1, 1, 1]])
>>> a.ndim
2

.shape :各维度尺寸组成的元组

代码语言:javascript
复制
>>> a.shape
(2, 3)

.size :元素的个数

代码语言:javascript
复制
>>> a.size
6

.dtype :元素类型

代码语言:javascript
复制
>>> a.dtype
dtype('int32')

.itemsize :每个元素的字节数

代码语言:javascript
复制
>>> a.itemsize
4

数组的创建:

np.arange([start,] stop[, step,], dtype=None) : 略(前面某篇介绍过)

np.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None) : 略

np.logspace(start,stop,num=50,endpoint=True,base=10.0, dtype=None) : 略

np.zeros(shape, dtype=float, order='C'): 全为0.

np.ones(shape, dtype=float, order='C'): 全为1.

np.eye(N, M=None, k=0, dtype=<class 'float'>, order='C') :返回主对角线为1,其余元素全为0的数组。N为行数,M为列数。用通过K设置相对于主对角线的偏移量(右上为正,左下为负)

代码语言:javascript
复制
>>> np.eye(3)
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
>>> np.eye(3,2)
array([[1., 0.],
       [0., 1.],
       [0., 0.]])
       [0., 0., 1.]])
>>> np.eye(2,3)
array([[1., 0., 0.],
       [0., 1., 0.]])
>>> np.eye(5,k=1)
array([[0., 1., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 1., 0.],
       [0., 0., 0., 0., 1.],
       [0., 0., 0., 0., 0.]])

np.full(shape, fill_value, dtype=None, order='C') : 元素全为fill_value

代码语言:javascript
复制
    >>> np.full((2, 2), np.inf)# inf表示正无穷
    array([[ inf,  inf],
           [ inf,  inf]])
    >>> np.full((2, 2), 10)
    array([[10, 10],
           [10, 10]])

np.ones_like(a) : 按数组a的形状生成元素全为1的数组 np.zeros_like(a): 按数组a的形状生成元素全为1的数组

np.full_like (a, val) : 按数组a的形状生成元素全为val的数组

concatenate((a1, a2, ...), axis=0, out=None) : 在指定的轴上串接各数组

代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> b = np.array([[5, 6]])
>>> np.concatenate((a, b), axis=0)
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.concatenate((a, b.T), axis=1)#b.T表示b的转置
array([[1, 2, 5],
      [3, 4, 6]])
>>> np.concatenate((a, b), axis=None)
array([1, 2, 3, 4, 5, 6])

数组的维度变换:

.reshape(shape) : 不改变当前数组,依shape生成 .resize(shape) : 改变当前数组,依shape生成 .swapaxes(ax1, ax2) : 将两个维度调换

代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> a
array([[1, 2],
       [3, 4]])
>>> a.swapaxes(0,1)
array([[1, 3],
     [2, 4]])

.flatten() : 对数组进行降维,返回折叠后的一维数组

代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> a.flatten()
array([1, 2, 3, 4])

数组的类型变换:

数据类型的转换 :a.astype(new_type) : eg, a.astype (np.float) 数组向列表的转换: a.tolist()

代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> a.tolist()
[[1, 2], [3, 4]]

数组的索引和切片:略

数组的运算:

np.abs(a) 和 np.fabs(a) :返回数组a 个元素取绝对值后的数组

>>> a = np.array([[-1, -2], [3, -4]])

>>> np.abs(a) array([[1, 2], [3, 4]]) >>> np.fabs(a) #元素为浮点数 array([[1., 2.], [3., 4.]])

np.sqrt(a) : 计算各元素的平方根

代码语言:javascript
复制
>>> a = np.array([[-1, -2], [3, -4]])
>>> np.sqrt(a)
array([[1.        , 1.41421356],
       [1.73205081, 2.        ]])

np.square(a) : 计算各元素的平方

np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数(e为底)、10、2为底的对数

np.ceil(a) np.floor(a) : 计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整) np.rint(a) : 各元素 四舍五入 np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回 np.exp(a) : 计算各元素的指数值 np.sign(a) : 计算各元素的符号值 1(+),0,-1(-) a.max(axis=None, out=None, keepdims=False) :在给点轴上计算最大值

代码语言:javascript
复制
>>> a = np.array([[1, 2], [3, 4]])
>>> a.max()
4
>>> a.max(axis = 0)
array([3, 4])
>>> a.max(axis =1)
array([2, 4])

a.min(axis=None, out=None, keepdims=False) :计算最小值

np.max(a), np.min(a) : 功能,参数同a.max() 和a.min()

np.mod(a, b) : 元素级的模运算 np.copysign(a, b) : 将b中各元素的符号赋值给数组a的对应元素

代码语言:javascript
复制
>>> a = np.array([[-1, 2], [-3, 4]])
>>> b = np.array([[5, 6], [7, 8]])
>>> np.copysign(a, b)
array([[1., 2.],
       [3., 4.]])
>>> np.copysign(b, a)
array([[-5.,  6.],
       [-7.,  8.]])
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档