Python的Numpy库的ndarry对象(矩阵)初始化属性调整属性获取基本操作示例代码积累
Posted 昊虹算法
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的Numpy库的ndarry对象(矩阵)初始化属性调整属性获取基本操作示例代码积累相关的知识,希望对你有一定的参考价值。
ndarry对象实质上就可以理解为矩阵, 矩阵是咱们作运算的基本单位,所以其初始化、属性调整、属性获取、基本操作都是高频使用的。
虽然是高频使用的,但有时候,莫名地就忘了格式,或者忘了还有这个操作,所以有必要写一篇博文把“Numpy库的ndarry对象初始化、属性调整、属性获取、基本操作”的示例代码进行个积累汇总,以便自己Coding时取用。
目录
- 1 直接赋值初始化一个矩阵
- 2 通过复制别的矩阵得到新的矩阵
- 3 创建和原矩阵大小一样、并且数据类型和原矩阵不一样的全0矩阵
- 4 创建指定大小和数据类型且元素值全为1的矩阵
- 5 创建指定大小和数据类型且元素值全为0的矩阵
- 6 创建指定大小、指定数据类型、数据值按均匀分布生成的整数矩阵
- 7 创建指定大小、数据值按正态分布(均值为0,标准差为1)生成的矩阵
- 8 获取矩阵的形状、数据类型、维度数、元素总个数
- 9 对矩阵元素的选取和访问
1 直接赋值初始化一个矩阵
示例代码如下:
A = np.array([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]], dtype='int8')
上面代码中的第二个参数dtype是可选的,不如不填,则系统根据矩阵元素的数据大小来确定。
上面的代码创建的是二维矩阵,我们再看一个创建三维矩阵的例子。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
B = np.array([[[11, 12, 13, 14],
[15, 16, 17, 18]],
[[19, 20, 21, 22],
[23, 24, 25, 26]],
[[27, 28, 29, 30],
[31, 32, 33, 34]]])
运行结果如下图所示:
从其shape属性可以看出,B矩阵的尺寸为三通道,两行,四列。其内容如下:
2 通过复制别的矩阵得到新的矩阵
示例代码如下:
import numpy as np
B = np.array([[[11, 12, 13, 14],
[15, 16, 17, 18]],
[[19, 20, 21, 22],
[23, 24, 25, 26]],
[[27, 28, 29, 30],
[31, 32, 33, 34]]])
C = B
运行结果如下所示:
3 创建和原矩阵大小一样、并且数据类型和原矩阵不一样的全0矩阵
示例代码如下:
import numpy as np
B = np.array([[[11, 12, 13, 14],
[15, 16, 17, 18]],
[[19, 20, 21, 22],
[23, 24, 25, 26]],
[[27, 28, 29, 30],
[31, 32, 33, 34]]])
C = B
C = 0*C
C = C.astype('float32')
运行结果如下:
4 创建指定大小和数据类型且元素值全为1的矩阵
D = np.ones((3, 5), dtype='uint8')
5 创建指定大小和数据类型且元素值全为0的矩阵
E = np.zeros((3, 5), dtype='float32')
6 创建指定大小、指定数据类型、数据值按均匀分布生成的整数矩阵
F = np.random.randint(0, 100, (3, 5), dtype='uint8')
7 创建指定大小、数据值按正态分布(均值为0,标准差为1)生成的矩阵
K = np.random.randn(2, 3)
注意:函数randn()不能设置数据类型,也不能设置正态分布的均值和标准差,其原型如下:
random.randn(d0, d1, ..., dn)
运行结果如下:
从上图我们可以看出,其数据类型为float64
8 获取矩阵的形状、数据类型、维度数、元素总个数
示例代码如下:
import numpy as np
B = np.array([[[11, 12, 13, 14],
[15, 16, 17, 18]],
[[19, 20, 21, 22],
[23, 24, 25, 26]],
[[27, 28, 29, 30],
[31, 32, 33, 34]]])
print('矩阵的形状为:\\n矩阵的元素数据类型为:\\n矩阵的维度数为:\\n矩阵的元素个数为:'
.format(B.shape, B.dtype, B.ndim, B.size))
运行结果如下图所示:
9 对矩阵元素的选取和访问
对数据的选取和访问请参看我的另一篇博文,链接:
https://blog.csdn.net/wenhao_ir/article/details/124419922
以上是关于Python的Numpy库的ndarry对象(矩阵)初始化属性调整属性获取基本操作示例代码积累的主要内容,如果未能解决你的问题,请参考以下文章
Python_Numpy库的ndarray对象的属性有哪些?如何获取它们的值?
Python:在 List 或 numpy.ndarry 中查找最大的 Top-n 值的索引 [重复]