一维数组的运算
import numpy as np
a = np.array([10,20,30,40])
b = np.arange(4)
print(a,b)
[10 20 30 40] [0 1 2 3]
※ 加法
a里面每个元素逐个与b里面每个元素相加(减法、乘法同样如此)
c = a+b
print(c)
[10 21 32 43]
※ 次方:** 区别于^
c = b**2
print(c)
[0 1 4 9]
※ 三角函数
c = 10*np.sin(a)
print(c)
[-5.44021111 9.12945251 -9.88031624 7.4511316 ]
※ 判断array中元素与某固定值的大小关系
print(b)
print(b < 3)
print(b == 3)
[0 1 2 3]
[ True True True False]
[False False False True]
二维矩阵的运算
a = np.array([[1,1],[0,1]])
b = np.arange(4).reshape((2,2))
print(a)
print(b)
[[1 1]
[0 1]]
[[0 1]
[2 3]]
※ 矩阵相乘
- 两个矩阵中的元素逐个相乘
c = a*b
print(c)
[[0 1]
[0 3]]
- 矩阵乘法(详见线性代数)
c_dot = np.dot(a,b)
c_dot_2 = a.dot(b)
print(c_dot)
print(c_dot_2)
[[2 4]
[2 3]]
[[2 4]
[2 3]]
随机数
随机创建0-1的数字,输入几行几列
a = np.random.random((2,4))
print(a)
print(np.sum(a)) # 求和
print(np.min(a)) # 求最小值
print(np.max(a)) # 求最大值
[[0.11518874 0.74026567 0.36759493 0.17561297]
[0.03652831 0.04706379 0.39861277 0.94188406]]
2.822751234722469
0.036528308348562244
0.9418840563226926
※ 定义axis
轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。
axis = 0 表示沿着每一列或行标签\索引值向下执行方法
axis = 1 表示沿着每一行或者列标签模向执行对应的方法
axis=0和1的图示.jpg
关于axis的说明来源戳这里
print(a)
print(np.sum(a,axis = 1))
print(np.min(a,axis = 0))
print(np.max(a,axis = 1))
[[0.11518874 0.74026567 0.36759493 0.17561297]
[0.03652831 0.04706379 0.39861277 0.94188406]]
[1.39866231 1.42408893]
[0.03652831 0.04706379 0.36759493 0.17561297]
[0.74026567 0.94188406]
单个矩阵的运算
A = np.arange(14,2,-1).reshape(3,4)
print(A)
[[14 13 12 11]
[10 9 8 7]
[ 6 5 4 3]]
※ 最小值和最大值索引值
print(np.argmin(A))
print(np.argmax(A))
11
0
※ 平均数和中位数
# 平均数
print(np.mean(A))
print(A.mean())
# 中位数
print(np.median(A))
8.5
8.5
8.5
※ 累加和累差
print(np.cumsum(A))
print(np.diff(A))
[ 14 27 39 50 60 69 77 84 90 95 99 102]
[[-1 -1 -1]
[-1 -1 -1]
[-1 -1 -1]]
※ 非0的元素输出行数和列数
print(np.nonzero(A))
(array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))
※ 逐行排序
print(np.sort(A))
[[11 12 13 14]
[ 7 8 9 10]
[ 3 4 5 6]]
※ 行列转置
print(A.T)
print(np.transpose(A))
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
[[14 10 6]
[13 9 5]
[12 8 4]
[11 7 3]]
※ 限定最大最小值:
array中小于5的都等于5,大于9的都等于9
print(np.clip(A,5,9))
[[9 9 9 9]
[9 9 8 7]
[6 5 5 5]]
网友评论