温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中numpy怎么用

发布时间:2021-11-26 09:48:44 阅读:160 作者:小新 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要为大家展示了“Python中numpy怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python中numpy怎么用”这篇文章吧。

 1.numpy基础操作

#!/usr/bin/env python#coding:utf-8import numpy as nparray = np.array([[1,2,3],[4,5,6]])print(array)print('维度:',array.ndim) #有几行print(array.shape) #(2, 3) 有几行,几列print('size:',array.size)   #总数大小a = np.array([2,3,4], dtype=np.int64) #定义类型 int64print(a.dtype)a = np.zeros((3,4)) #定义一個=个三行四列的矩阵,里面的只全部为0a = np.ones((3,4)) #生成一個三行四列的矩阵,值为1a = np.empty((3,4)) #生成一個三行四列的矩阵,值为0a = np.arange(1,10,2) #生成一个从1-9 步长为2的矩阵a = np.arange(10) #生成一个从0-9 的矩阵a = np.arange(12).reshape(3,4) #生成一个34列的数列a = np.linspace(1,10,6).reshape(2,3) #生成一个1-10之间23列的6段线段a = np.array([10,20,30,40])b = np.arange(4) #生成一个0-3之间四位数的矩阵,即0-3四个阵列成的矩阵print(a,b) #列印兩个矩阵print(a b) #矩阵相加print(a-b) #矩阵相減print(a*b) #矩阵相乘print(a**b) #矩阵乘方

2. numpy矩阵运算

c = np.sin(a)*10 #对a中每个值取sin, 再乘10, con, tan都是这样的print(c)print(b<3) #判断b中每个数据是不是小于3, [ True  True  True False]a = np.array([[1,2],[3,4]])b = np.arange(4).reshape(2,2)print(a,b)print(a*b) #矩阵a和矩阵b中的每个值相乘, 相乘之后的数值组成的一个矩阵print(np.dot(a,b)) #矩阵与矩阵相乘,第一個矩阵的列等于第二个矩阵的行print(a.dot(b)) #跟上面的结果是一样的a = np.random.random((2,4)) #在0-1之间随机生成一个24列的一个矩阵print(a)print(np.sum(a)) #矩阵里数值求和print('###############################')print(np.sum(a,axis=1)) #矩阵每行的求和print(np.sum(a,axis=0)) #矩阵每列的求和print(np.min(a)) #矩阵最小值print(np.min(a,axis=1)) #矩阵每行最小值print(np.min(a,axis=0)) #矩阵每列最小值print(np.max(a)) #矩阵最大值print(np.max(a,axis=1)) #矩阵每行最大值print(np.max(a,axis=0)) #矩阵每列最大值A = np.arange(1,13).reshape(3,4) #在1-1312个数中,分成34print(A)print(np.argmin(A)) #求矩阵中最小值的索引 0print(np.argmax(A)) #求矩阵中最大值的索引 11print(np.mean(A)) #求矩阵中平均值print(A.mean()) #求矩阵中平均值print(np.median(A)) #求矩阵中中位數print(np.cumsum(A)) #矩阵中数值累加,第一個为第一个的值,第二个为前两个值的和,第三个为前三个的和。。。print(np.diff(A)) #矩阵中数组累差, 后面減前面一个的差print(np.nonzero(A)) #找出矩阵中非0的数, 结果輸出两个array, 第一个为行,第二个为列A = np.arange(13,1,-1).reshape(3,4)print(A)print(np.sort(A)) #逐行从小到大排序print(np.transpose(A)) #矩阵行列变换print(A.T) #矩阵行列变换,上面的简写print((A.T).dot(A)) #行列变换之后的矩阵再和以前的矩阵相乘print(np.clip(A,5,10)) #矩阵小于5的等于5, 大于10的等于10, 只保留中间部分print(np.mean(A,axis=1)) #矩阵中对行计算平均值,axis=0是对列计算平均值

numpy矩阵索引切片

A = np.arange(1,13)print(A)print(A[3]) #根据矩阵索引获取值,从0开始的A = np.arange(1,13).reshape(3,4)print(A)print(A[2])    #列印出第二行数据(从0开始数)print(A[2][3]) #找出矩阵第2行第3print(A[2,3]) #找出矩阵第2行第3print(A[:,:]) #矩阵所有行所有列print(A[:,1]) #矩阵第2列所有数print(A[1,:]) #矩阵第2行所有数print(A[1,2:]) #矩阵第一行第三个列及其以后的數for row in A:    print(row) #迭代每一行for column in A.T: #想迭代列先行列变换,将列变行,再迭代    print(column)print(A.flatten()) #将三行四列的一个矩阵的值重新放到一个新的矩阵中for item in A.flat: #A.flat返回一个可迭代类    print(item)

 4.矩阵变换

A = np.array([1,1,1])B = np.array([2,2,2])C = np.vstack((A,B)) #将兩个序列上下合并成一个矩阵# C = np.hstack((A,B)) #将兩个序列左右合并,变成一个序列print(C)print(A[np.newaxis,:]) #将A加一个维度,从一个序列变成由一行组成的矩阵print(A[:,np.newaxis]) #将A加一个维度,从一个序列变成由一列组成的矩阵A = A[np.newaxis,:] #将A, B 分別加一个维度B = B[np.newaxis,:]print('A,B:',A,B)C = np.vstack((A,B)) #将两个矩阵上下合并C = np.hstack((A,B)) #将两个矩阵左右合并,这里将AB合并成一个序列print(C)C = np.concatenate((A,B,B,A),axis=0) #可以几行多个矩阵合并,可以指定合并维度,axis=1指每个矩阵按行左右合并,0是每个矩阵按列上下合并print(C)A = np.arange(12).reshape((3,4))print(A)print(np.split(A,2,axis=1)) #将A进行分割,分成兩个array,按行等量分割,print(np.array_split(A,3,axis=1)) #将A进行分割,按行分成三个array,可以进行不等量分割print(np.vsplit(A,3)) #将A横向平均分割成3快print(np.hsplit(A,2)) #将A纵向平均分割成2快a = np.arange(4)print(a)b = ac = ad = ba[0] = 8print(a)print(d) #都是一样的,一个改变了其他都变print(b is a) #如果一样就是Trued[1:3] = [11,22]print(a) #也是一样的,等于是改的同一快数组中的数据#如果想a改变,其他赋值的不变则需要深拷贝b = a.copy() #深拷贝,拷贝数组重新放到另外一块记忆体中print(a)b[0] = 66print(a,b) #b变了,a沒变

以上是“Python中numpy怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/3358983/blog/4349047

AI

开发者交流群×