numpy 学习记录

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参数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容