本篇主要用于自己学习Python科学计算的学习笔记,便于之后细节不清时的查阅。
主要参考内容:莫烦的Python——Numpy&Pandas教程
《Python科学计算》张若愚著,清华大学出版社
numpy的使用会使很多计算更快,因为Numpy是基于C语言编写的,可以提高计算速度
1 import numpy as np
2
3 array = np.array([[1,2,3],
4 [2,3,4]])
5 #将列表 [[1, 2, 3], [2 ,3 ,4]] 输出型为2行3列的矩阵
6 print(array)
7 print("number of dim:",array.ndim) #输出矩阵的维度
8 print("shape",array.shape) #输出矩阵的形状
9 print("size",array.size) #输出矩阵的大小(2*3)
10
11 b = np.array([1,2,3,4])
12 print(b)
13 print(b.shape)
可以通过修改数组的shape属性,在保持数组元素个数不变的情况下,改变数组每个轴的长度。
1 import numpy as np
2
3 array = np.array([[1,2,3],
4 [2,3,4]])
5 array.shape = 3,2
6 print(array)
当设置某个轴的元素为-1时,将自动计算此轴的长度
1 import numpy as np
2
3 array = np.array([[1,2,3],
4 [2,3,4],
5 [3,4,5],
6 [4,5,6]])
7 array.shape = 3,-1
8 print(array)
接下来就是矩阵的建立
1 a = np.array([2, 3, 4])
2 print(a)
3 #可以看到和列表相差不大,但是没有逗号
4 print(a.dtype)
5 a = np.array([2, 3, 4],dtype=np.int64)
6 print(a.dtype)
7 a = np.array([2, 3, 4],dtype=np.float64)
8 print(a.dtype)
在创建的过程中也可以对其中数值类型进行定义。Numpy的数值对象的运算速度比Python内置类型的运算速度要慢,若大量使用,应尽量避免。
对数组的元素类型进行转换。
1 import numpy as np
2
3 t1 = np.array([1,2,3,4],dtype = np.float)
4 t2 = np.array([1,2,3,4],dtype = np.complex)
5 t3 = t1.astype(np.int32)
6 t4 = t2.astype(np.complex64)
建立零矩阵、一矩阵、空矩阵
1 import numpy as np
2
3 a = np.zeros( (3,4) )
4 #a = np.zeros( (3,4) ,dtype=np.float)
5 #a = np.ones( (3,4) )
6 #a = np.empty( (3,4))
7 #a = np.empty( (3,4) , dtype = np.int)
8 print(a)
使用full()对数组元素进行指定值的初始化
1 import numpy as np
2
3 a = np.full(4, np.pi)
4 print(a)
此外,zeros_like()、ones_like()、empty_like()等函数创建与参数数组形状相同和类型相同的数值,因此与zeros_like(a)和zeros(a.shape,a.dtype)效果相同
原文:https://www.cnblogs.com/SoulSecret/p/11788064.html