原标题: numpy基础语法学习笔记
原文 来自:CSDN 原文链接:https://blog.csdn.net/weixin_40400177/article/details/103414961
import numpy numbers = numpy.array([1, 2, 3, 4]) array([1, 2, 3, 4]) numpy.array的属性:numbers.dtype numbers = numpy.array([1, 2, 3, 4.0]) print(numbers) [ 1. 2. 3. 4.] numpy.array默认为同一dtype,自动向上转型 matrix = numpy.array([ [5, 10, 15], [20, 25, 30], [35, 40, 45] ]) print(matrix[1:3,]) 1,2行全部(从0行开始) [[20 25 30] [35 40 45]] print(matrix[1:3,1]) 1,2行第1列 [25 40] (虽然符合结果但是为何是这种表示方式…) print(matrix[1:3,1:2]) [[25] [40]] 这就符合预期了
print(np.arange(15)) np.arrange() [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14] 默认从0开始,间距为1 np.arange(18).reshape(3,2,3) array([[[ 0, 1, 2], [ 3, 4, 5]], [[ 6, 7, 8], [ 9, 10, 11]], [[12, 13, 14], [15, 16, 17]]]) np.linspace(0, 99, 100) array([ 0., 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., 26., 27., 28., 29., 30., 31., 32., 33., 34., 35., 36., 37., 38., 39., 40., 41., 42., 43., 44., 45., 46., 47., 48., 49., 50., 51., 52., 53., 54., 55., 56., 57., 58., 59., 60., 61., 62., 63., 64., 65., 66., 67., 68., 69., 70., 71., 72., 73., 74., 75., 76., 77., 78., 79., 80., 81., 82., 83., 84., 85., 86., 87., 88., 89., 90., 91., 92., 93., 94., 95., 96., 97., 98., 99.])
A = np.array( [[1,1], [0,1]] ) B = np.array( [[2,0], [3,4]] ) print(A) print("---------") print(B) print("---------") #print A*B print(A.dot(B)) print("---------") print(np.dot(A, B)) [[1 1] [0 1]]
[[2 0] [3 4]]
[[5 4] [3 4]]
[[5 4] [3 4]] *乘号意味着同行同列数值相乘 矩阵乘法则是dot点乘 可用np.dot(A, B) 或者A.dot(B) A是一个矩阵
np.exp(A) 将A中所有的值作为e的指数,更新 np.sqrt(A) 将矩阵A中所有的值取其正根 np.floor(A) 将矩阵A中的所有值进行向下取整 A.ravel() 将一个矩阵降至一维,(拉平) A.T 意为矩阵的转置 a.reshape(3, -1) 写-1的意思是让其自动计算 np.hstack((A, B)) 水平拼接两个矩阵 np.vstack((A, B)) 垂直拼接两个矩阵 np.hsplit(a,3) 水平切割 将整个矩阵平均分为3份(列数一定要为3的倍数,以此类推) np.hsplit(a, (3,4)) 水平切割 在矩阵的第三列和第四列进行切分(结果是3个) vsplit 以此类推
值得一提的是 A 为ndarray类型时 C = A可以得到 C is A 为True C 与A完全相同,且共用同一个内存(类似指针) C = A.view() C is A 为False C与A不相同,id不同,但所指向的数组,其值相同且同时更新 C = A.copy() C is A为False C与A 不相同,id不同,所指向的数组也完全不同 A.argmax(axis=0) 找到A这个矩阵上,按列索引,每一列中最大数值的一行 axis=1 是每一行中,最大数所在的列号 B =np.tile(A,(2,3)) 使B 拓展2,3倍
A.sort(axis = 1) 按行排序 a = np.array([4, 3, 1, 2]) j = np.argsort(a) [2 3 1 0] [1 2 3 4] 从小到大 按照行下标进行排序
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com