下面是创建多组0的代码并用随机数填充它,然后我取第一列并计算最大值,问题是我需要能够为每一行(即第2行)执行此操作通过10) 香港专业教育学院尝试将它放入for循环,但它不适用于传统的y = 1,mx [:,y],y = y + 1
任何人都可以提供一些帮助吗?欢呼声
import pylab
mx = pylab.zeros ((10,6))
for j in range(0,10):
mx[j] = pylab.randn()
p = mx[:,1]
a = max (p)
答案 0 :(得分:1)
import numpy as np
mx = np.random.randn(10, 6)
np.max(mx, axis=0)
我已经使用了NumPy而不是Pylab的库;无论如何,这就是Pylab内部使用的内容。您也可以使用pylab.amax
代替np.max
,这是完全相同的功能。
答案 1 :(得分:1)
如果您要查找行 2到10的最大值,
然后使用mx.max(axis=1)
查找所有行的最大值,然后将其分解为第2行到第10行:
mx.max(axis=1)[2:]
例如,如果
In [38]: mx = np.arange(60).reshape((10, 6))
In [39]: mx
Out[39]:
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35],
[36, 37, 38, 39, 40, 41],
[42, 43, 44, 45, 46, 47],
[48, 49, 50, 51, 52, 53],
[54, 55, 56, 57, 58, 59]])
然后
In [40]: mx.max(axis=1)[2:]
Out[40]: array([17, 23, 29, 35, 41, 47, 53, 59])
最后,正如larsman已经展示的那样,你可以使用mx = np.random.randn(10, 6)
制作随机矩阵。