2022/02/07
对于numpy的random和dot函数的理解
import numpy as np
a = np.random.rand(100000)
b = np.random.rand(100000)
c = np.dot(a,b)
d = np.random.random((3,3)) # 输出结果为(3,3)矩阵而非3个(0,3)的随机数
print("c:" + str(c) )
print("d:" + str(d) )
输出结果为
c:24982.721824581393
d:[[0.51674315 0.7977575 0.5950177 ]
[0.02240989 0.2777705 0.85499163]
[0.4417579 0.02959082 0.42676586]]
2022/02/09
对于numpy的shape和axis函数的理解
import numpy as np
a=np.array([[[1,2],[2,3],[3,4]],[[2,3],[4,5],[7,8]]])
print(a)
print(a.shape)
输出结果为
[[[1 2]
[2 3]
[3 4]]
[[2 3]
[4 5]
[7 8]]]
(2, 3, 2)
即输出一三维数组,其包含两个三行两列二维数组(2,3,2)。
随后运行如下代码进行求和:
print(a.sum(axis=0))
print(a.sum(axis=1))
print(a.sum(axis=2))
print(a.sum(axis=(0,1)))
输出结果为:
# a.sum(axis=0)
[[ 3 5]
[ 6 8]
[10 12]]
# a.sum(axis=1)
[[ 6 9]
[13 16]]
# a.sum(axis=2)
[[ 3 5 7]
[ 5 9 15]]
# (a.sum(axis=(0,1))
[19 25]
分别为对数组的第1、2、3个中括号进行求和,即对低一层次数组(二维数组)、低两层次数组(列)、低三层次数组(行)进行求和。具体情况按上述示例理解,重点在于如何理解数组的axis参数。