import numpy as np
a = np.repeat(np.arange(5).reshape([1, -1]), 5, axis=0) + 10.0
print(a)
[[10. 11. 12. 13. 14.]
[10. 11. 12. 13. 14.]
[10. 11. 12. 13. 14.]
[10. 11. 12. 13. 14.]
[10. 11. 12. 13. 14.]]
np.repeat(axis=,x):使矩阵在某个axis上重复x次。
np.arange的作用是生成一个列表,终点是5,步长为1,。
reshape(1,-1)的作用是将生成的列表reshape为1行不指定列的矩阵(列表),在这里就是[0,1,2,3,4]这样一个列表
参数 5 是指将[0,1,2,3,4]在行方向上(axis=1时为列方向)重复5次,然后每个位置+10,即得到上面的矩阵
b = np.random.randint(5, size=a.shape)
print(b)
[[0 0 1 0 2]
[3 2 4 0 0]
[0 0 1 3 1]
[4 3 0 1 3]
[4 1 1 4 1]]
生成一个元素大小5以内,形状为a.shape的矩阵,a是前面生成的矩阵
c = np.argmin(a * b, axis=0)
print(a * b)
print(c)
[[ 0. 0. 12. 0. 28.]
[30. 22. 48. 0. 0.]
[ 0. 0. 12. 39. 14.]
[40. 33. 0. 13. 42.]
[40. 11. 12. 52. 14