numpy学习之路(2)

本文介绍了numpy库在Python中的基本运算,包括矩阵乘法、求和求极值、计算中位数与平均数等关键操作,是numpy学习的进阶篇。

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

numpy基本运算

import numpy as np#大部分都是一些可以理解的运算
a=np.array([10,20,30,40])
b=np.arange(4)
c=a-b
d=a+b
e=b**3
f=10*np.sin(a)
print(a,b,c,d)
print(e,f)
print(b<3)

结果

[10 20 30 40] [0 1 2 3] [10 19 28 37] [10 21 32 43]
[ 0  1  8 27] [-5.44021111  9.12945251 -9.88031624  7.4511316 ]
[ True  True  True False]

矩阵乘法

import numpy as np
a=np.array([[1,1],[0,1]])
b=np.arange(4).reshape(2,2)
c=a*b#对应相乘若不对应即两行两列对应一行四列之类的报错
d=np.dot(a,b)#真正的矩阵乘法但无法多行列相乘?
e=np.array([1,2,3,4])
f=a.dot(b)
print(a)
print(b)
print(c)
print(d)
print(f)
[[1 1]
 [0 1]]
[[0 1]
 [2 3]]
[[0 1]
 [0 3]]
[[2 4]
 [2 3]]
[[2 4]
 [2 3]]

求和求最大最小值

import numpy as np
a=np.random.random((2,4))#随机获取
b=np.random.random((3,3,3))
print(a)
print(b)
print(np.sum(a))
print(np.sum(a,axis=1))#1指行当中,0指列当中
print(np.min(a,axis=0))#axis=0表示这个元组的第一个元素,axis=1表示第二个元素.
#假如这个数组是三维数组,axis=0代表的是第一个维度也就是页,axis=1,表示的是行,axis=2表示列
print(np.max(b,axis=2))
print(np.max(a))
[[0.62033413 0.88508017 0.00329926 0.39218687]
 [0.30367237 0.84529731 0.94028926 0.90542623]]
[[[0.4390173  0.26502627 0.19713983]
  [0.6424552  0.82804722 0.20173993]
  [0.63385815 0.43388404 0.82832287]]

 [[0.78941203 0.83929731 0.51955024]
  [0.29501453 0.79588307 0.97602342]
  [0.0322895  0.94012223 0.98703397]]

 [[0.069906   0.21727818 0.62263464]
  [0.97589108 0.17320826 0.45499009]
  [0.73710226 0.30342144 0.03945624]]]
4.895585604904276
[1.90090043 2.99468517]
[0.30367237 0.84529731 0.00329926 0.39218687]
[[0.4390173  0.82804722 0.82832287]
 [0.83929731 0.97602342 0.98703397]
 [0.62263464 0.97589108 0.73710226]]
0.9402892623673101

求中位数,平均数(众数没有直接求法)

import numpy as np
a=np.arange(0,12).reshape((3,4))
b=np.argmin(a)#求索引
c=np.argmax(a)
d=np.mean(a)#平均值或者average
e=np.median(a)#中位数
f=np.cumsum(a)#累加n位  0加到n位放在n位
g=np.nonzero(a)#找出非0的数在这里输出行数再输出列数一一对应
print(a)
print(b,c,d,e)
print(f)
print(g)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
0 11 5.5 5.5
[ 0  1  3  6 10 15 21 28 36 45 55 66]
(array([0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))

矩阵转置

import numpy as np
a=np.arange(14,2,-1).reshape((3,4))#转置,即行列互换
b=np.transpose(a)#b=a.T结果一样更符合线代做法
c=np.clip(a,4,10)#小于4变为4,大于10变成10
print(a)
print(b)
print(c)
print(np.mean(a,axis=0))#注意行列
print(np.mean(a,axis=1))
[[14 13 12 11]
 [10  9  8  7]
 [ 6  5  4  3]]
[[14 10  6]
 [13  9  5]
 [12  8  4]
 [11  7  3]]
[[10 10 10 10]
 [10  9  8  7]
 [ 6  5  4  4]]
[10.  9.  8.  7.]
[12.5  8.5  4.5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值