Numpy是高性能科学计算好数据分析的基础包,提供了矩阵运算的功能,在深度学习和数据分析领域广泛应用。。
创建array数组
vector = np.asarray([1,2,3,4]);
创建zero数组
a = np.zeros(10)
a1 = np.zeros(shape=(5,3))
创建one矩阵
one = np.ones((3,4));
创建自定义值的矩阵
user_define = np.full((3, 5), 110)
创建递增的矩阵
np.arange(0,20,2)
使用linspace创建等分的矩阵
np.linspace(0, 10, 5)
用随机数来创建矩阵
np.random.randint(0,10,size = 10)
np.random.randint(4,9,size = (5,3))
用正太分布来创建矩阵
np.random.normal(loc = 1.0, scale = 1.0, size = (3,2))
数组维度
ndim 表示数组维度(或轴)的个数。
arr_1_d = np.asarray([1])
arr_2_d = np.asarray([[1, 2], [3, 4]])
print(arr_1_d.ndim)
print(arr_2_d.ndim)
shape 表示数组的维度或形状, 是一个整数的元组类型,元组的长度等于 ndim。
print(arr_1_d.shape)
print(arr_2_d.shape)
shpe这个属性用途很广,借助于reshape()函数我们甚至还可以对数组形状进行改变,但需要保证变换后和变换前矩阵元素数量一致
arr_2_d.reshape((4,1))
此外reshape还有一个order参数,指的是以什么样的顺序读取元素,其中有这样几个参数
- ‘C’:默认参数,使用类似 C-like 语言(行优先)中的索引方式进行读写。
- ‘F’:使用类似 Fortran-like 语言(列优先)中的索引方式进行读写。
- ‘A’:原数组如果是按照’C’的方式存储数组,则用’C’的索引对数组进行 reshape,否则使用’F’的索引方式。
np.arange(6).reshape(2,3)
np.arange(6).reshape(2,3,order = 'F')
size
size,也就是数组元素的总数,它就等于 shape 属性中元素的乘积。
arr_2_d.size
矩阵类型
dtype,它是一个描述数组中元素类型的对象。
使用 dtype 属性可以查看数组所属的数据类型。NumPy 中大部分常见的数据类型都是支持的,例如 int8、int16、int32、float32、float64 等。dtype 是一个常见的属性,在创建数组,数据类型转换时都可以看到它。
arr_2_d.dtype
通过 astype()
方法,我们可以将老矩阵按照指定类型输出一个新矩阵。
vector = np.arange(1,3)
print(vector.dtype)
vector = vector.astype(float)
矩阵之间的点乘
矩阵乘法要求第一个矩阵的列数要等于第二矩阵的行数,具体点乘的函数为dot()
a = np.arange(1, 6).reshape(2,3)
b = np.arange(1,7).reshape(3,2)
print(a.shape[1] == b.shape[0])
print(a.dot(b))
矩阵的转置
把原来矩阵的行变成列,列变成行
a = np.arange(1,7),reshape(2,3)
print(a.T)
[[1 4]
[2 5]
[3 6]]
矩阵的逆
如果要求矩阵的逆,首先需要导入numpy.linalg,然后通过linalg的inv函数来求逆,矩阵求逆的条件是矩阵的行数和列数必须相同。
import numpy.linalg as lg
a = np.array([[0,1],[2,3]])
invA = lg.inv(a)
print(A.dot(invA))
array([[-1.5, 0.5],
[ 1. , 0. ]])
argmax(a, axis = None, out = None)函数主要用来求一个array中最大值的下标,就是最大数所对应的索引位置是多少。
index = np.argmax([1,2,9,3,2])
axis代表按照哪个轴来找最大的索引值
从tx实习回来之后忙于秋招、毕设好久没有认认真真的写博客了,今天这一篇就立个flag吧,以后每周都要写一篇博客,保持原有写博客的习惯。
Original: https://blog.csdn.net/Startapi/article/details/122277388
Author: vcjmhg
Title: Numpy简单入门
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/760517/
转载文章受原作者版权保护。转载请注明原作者出处!