pytorch学习记录|numpy

1. numpy的引入

import numpy as np

2. 列表转换为矩阵

array=np.array([1,2,3],[2,3,4])

3. numpy的属性

维度number of dim: array.ndim
形状shape:  array.shape
大小size:array.size

4. 创建array

可以创建一维、二维矩阵	
a=np.array([2,3,4],dtype=np.int64) #dtype=int32\int64\float32...
创建全0矩阵:b=np.zeros((3,4))
创建全1矩阵:c=np.ones((2,3))
创建随机矩阵:a=np.empty((3,4))
创建确定范围内的矩阵:d=np.arange(10,20,2) #起始值为10,终止值为20,步长2
重新定义形状:b=np.arange(12).reshape((3,4))
创建分段矩阵:e=np.linespace(1,10,5) #起始值为1,终止值为10,分为5段(5个值,4等分)

5. 基本运算

eg:
    a=np.array([10,20,30,40]) #a=[10,20,30,40]
    b=np.array(4) #b=[0,1,2,3]

加减法:c=a+b #c=[10,21,32,43],对应元素相加
乘除法:d=a*b #d=[0,20,60,120], 对应元素相乘
矩阵的乘法:h=np.dot(k,g)/ h=k.dot(g)
三角函数运算:e=10*np.sin(a) #各元素计算sin值后再乘以10
布尔判断:print(b<3) #[True True True False]
随机生成array: a=np.random.random((2,4))
求和、求最大值、求最小值:np.sum(a)、np.min(a)、np.max(a)
在行/列中求和(最大值、最小值):  行:np.sum(a,axis=1),列:np.sum(a,axis=0)
排序:np.sort(A)
矩阵的转置:np.transpose(a) #转置不能将一维的横向向量转变为多维的竖向矩阵,即:转置不能提升数组的维度
数值过滤:np.clip(A,5,9)#过滤掉矩阵A中不属于5~9范围内的数	
求最小(大)值的索引:np.argmin(A)
求平均值:np.mean(A)/A.mean()/np.average(A)
求中位数:np.median(A)
累加:np.cumsum(A)
累差:np.diff(A)
非零数的下标:np.nonzero(A)

6. 索引操作:

迭代每一行:for row in A:...
迭代每一列:for column in A.T:...
将A矩阵转换成一行数据:A.flatten()

7. array合并:

A=np.array([1,1,1])
B=np.array([2,2,2])
C=np.vstack((A,B)) #vertical stack 上下合并,C.shape=(2,3)
D=np.hstack((A,B)) #horizontal stack 左右合并,C.shape=(6,)
增加维度:A[:,np.newaxis]
在某维度合并array:  np.concatenate((A,B,B,A),axis=0)

8. array分割:

横向分割:np.split(A,2,axis=1) #2为分割的块数,平均分割
	np.array_split(A,3,axis=1) #不等分割,每块的维度随机分配
	np.hsplit(A,3)
纵向分割:np.vsplit(A,3)

9. 复制array:

a=np.arange(4)
b=a
c=b
a is b is c,三者改变其中一个,全都会改变(指向同一对象)
copy复制:b=a.copy() #仅复制不关联
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值