Python-------numpy

这篇博客详细介绍了Python中numpy库的基本用法,包括创建array、矩阵运算、索引、矩阵合并与分割、复制等方面,涵盖了从基础操作到高级特性的应用,帮助读者深入理解numpy在处理矩阵和数组时的强大功能。

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

numpy基本用法:

使用numpy创建array: 

a = np.array([2, 23, 4])

使用numpy创建矩阵:

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

使用numpy创建三行四列的矩阵:

a = np.zeros((3,4))

使用numpy创建0-12三行四列的矩阵:

a = np.arange(12).reshape((3,4))
print(a)

使用numpy创建一个五段的数列:

a = np.linspace(1, 10, 5)  1是起始值,10是截至值,5是分为多少段数

查看array的字节:

a = np.array([2, 23, 4], dtype=np.int)
print(a.dtype)

字节越少所占用的空间越小

numpy基本运算:

加减乘除直接列表对应的值进行计算(针对列表)

注意平方在Python中用**表示,例如 c = b**2(b的平方)

特殊算法例如三角函数直接调用,例如 c = 10*np.sin(a) (a中每个值取sin再乘以10)

矩阵的乘法:

c_dot = np.dot(a,b)
c_dot_2 = a.dot(b)

两种办法皆可

随机创建:

a = np.random.random((2,4))

求最大值:max.(a),若想求每的最大值则是: max.(a,axis=0)  每的最大值:max.(a,axis=1)(列=0,行=1)

求和: sum.(a)

求最小值:min.(a)

最小值的索引: np.argmin(A)/np.argmax(A)

求矩阵平均值:np.mean(A)/np.average(A), 求列/行求平均值: np.mean(A,axis=0/1)

求矩阵中位数:np.median(A)

求累加:np.cumsum(A)(每项的值等于前面所有项的和)

求累差:np.diff(A)(n+1减去n项的值,n为新矩阵的位置)

输出非零项:np.nonzero(A)(输出两个列表,第一个列表对应行第二个列表对应列)

排序:np.sort(A) (逐行进行从小到大排序)

矩阵的反向(求逆矩阵):np.transpose(A)/A.T  (行变列,列变行)无法把横向数列变为竖向数列

np.clip(A,5,9) (把小于5的数都变为5,大于9的数都变为9,其他数字不变输出)

numpy的索引

输出第二行第一列的数据:print(A[2,1])/print(A[2][1])

输出第二行的所有数据:print(A[2,:])

输出第一列的所有数据:print(A[:,1])

输出第二行从第一位到第三位的值:print(A[2,1:3])

python 中只能迭代行(row),若要迭代列则需要将原来的矩阵翻转,再迭代翻转后的行,也就是原矩阵的列

a.flatten() 将矩阵变化为列表

矩阵的遍历: 

for item in A.flat:
    print(item)

A.flat代表着一个迭代器

矩阵的合并

上下合并: np.vstack(A,B)

左右合并:np.hstack(A,B)

横向数列变为竖向数列::,np.newaxis(竖向的变为横向  np.newaxis,:)

进行多个矩阵横向(axis=1)或者纵向(axis=0)的合并: C=np.concatenate((A,B,B,A),axis=0/1)

矩阵的分割

纵向分割: np.split(A,3,axis=0)

横向分割:np.split(A,3,axis=1) 分割的矩形必须相等

若要进行不等项的分割:np.array_split(A,3,axis=1)

纵向分割:np.vsplit(A, 3) 

横向分割:np.hsplit(A,2)

矩阵的复制

若把a的值复制给b,再把b的值复制给c,(a=b,b=c)那么,abc三个为一个值,若改变a/b/c中的值,那么另外两个值也会变改变

如果想要这些值不关联起来,需要用到 b=a.copy(深复制),那么改变a的值不会影响b的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值