Numpy中一些关于矩阵的运算

本文详细介绍了Numpy库的基本使用方法,包括数组创建、特殊矩阵生成、数学运算、矩阵内部数据处理、矩阵操作以及变量传递等内容。适用于初学者快速掌握Numpy的核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy

最基本的一些numpy操作:

import numpy as np
a =np.array([2,23,4], dtype = np.int64)
print(a)
#会打印出数列,且无逗号, dtype可以自己定义,也可以空
a =np.array([[2,23,4]
[2,23,1]], dtype = np.int64)
#可生成多行矩阵,需要注意格式

一些特殊矩阵的生成

a = np.zeros((3,4))
#生成3行4列的零值矩阵
#ones生成1值矩阵
#empty生成接近0值的矩阵
a = np.arange(10,20,2)
#10到20,差为2的等差数列
#最后一个为步长,可定义为负
#np.arange(4), 默认是0到3,0,1,2,3这四个数,差为1
a = np.arange(12).reshape((3,4))
#生成0-12,3行4列的矩阵,差值为1(默认)
#reshape的元素的个数要满足矩阵里的位置
a = np.linspace(1,10,20)
#生成,1-10这条线上(实心点),分成20段的数列,等差
#也可以reshape

当然,也可以对矩阵进行一些常见运算:

c = b **2
#2次方
c = a*sin(a)
#对a的每个值求sin

也可以有一些特殊的运算

print(b<3)
#返回b中每个元素小于3的布尔值,依然是同shape矩阵


c = np.dot(a,b) 
#a*b 为俩矩阵,一一对应的位置相乘,非矩阵乘法的结果
#dot则为矩阵乘法的值

对于矩阵内部的数据处理

a = np.random.random((2,4))
#首先生成一个2,4形状的矩阵,且随机值在0,1之间

np.sum(), 
np.max(), 
np.min(a,axis = 0),
np.mean(). 
np.median(),
np.cumsum(), 
np.diff()
#都是针对矩阵内进行的运算
#0对行,1对列,生成的结果也为矩阵(对应行/列)
#average不能用于矩阵
#cumsum返回的是同样项数的,逐次累加
#diff是俩个数之间的累进差值

在tensorflow中非常好用的操作:

np.argmin(), 
np.armax()
#返回最大最小值的索引,对于tf用处较大
np.nonzero()
#返回非零的值, 的位置。 用行列俩个值来表示

矩阵的分割,合并,调换等操作

np.transpose
#行列进行调换

np.clip(a, a_min, a_max)
#限定矩阵里面的范围,比如把所有的值都限定在1,-1之间

print(A,[3])
#print出来A里面的第三个数(如果只有一行), 或者第三行(不止一行)

print(A,[1,1])
#print出来A里面第一行,第一列的数值
#注意,从零行零列开始数
#可以用冒号:代替所有的数, 1:2表示1到2的值

for column in np.transpose(A):
print (column)
#换言之,for循环默认是行

for item in A.flat:
print(item)
#flat的作用是把矩阵换成平的一行

A = ([1,1,1])
B = ([2,2,2])

C = np.vstack((A,B))
D = np.hstack((A,B))
#可以分别用上下或者左右的方式合并

np.split(A,2,axis =0)
#必须是相等的分割,0是横向,1是竖向

np.arrary_split(A,3,axis=0)
#可以做不相等的分割

np.vsplit/hsplit
#vertical/horizontal

##变量的传递
a = ([1,2,3])
a = b
b = c
#a, b, c 这三个在硬盘上是一个位置,用is语句的话会得到true

b = a.copy() #deep copy
#只copy指,而不关联起来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值