80

プログラムを1行ずつ分解しようとしています。Yはデータのマトリックスですが、正確に何をするかについての具体的なデータは見つかりません.shape[0]

for i in range(Y.shape[0]):
    if Y[i] == -1:

このプログラムは、numpy、scipy、matplotlib.pyplot、および cvxopt を使用します。

4

6 に答える 6

129

shapenumpy 配列の属性は、配列の次元を返します。行と列Yがある場合、は です。そうです。nmY.shape(n,m)Y.shape[0]n

In [46]: Y = np.arange(12).reshape(3,4)

In [47]: Y
Out[47]: 
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

In [48]: Y.shape
Out[48]: (3, 4)

In [49]: Y.shape[0]
Out[49]: 3
于 2012-04-17T22:44:44.683 に答える
45

shape は、配列の次元を与えるタプルです。

>>> c = arange(20).reshape(5,4)
>>> c
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19]])

c.shape[0] 
5

行数を与える

c.shape[1] 
4

列数を与える

于 2014-01-18T05:12:12.147 に答える
11

shape配列の次元数を示すタプルです。したがって、あなたの場合、のインデックス値Y.shape[0]は 0 であるため、配列の最初の次元に沿って作業しています。

http://www.scipy.org/Tentative_NumPy_Tutorial#head-62ef2d3c0a5b4b7d6fdc48e4a60fe48b1ffe5006から

 An array has a shape given by the number of elements along each axis:
 >>> a = floor(10*random.random((3,4)))

 >>> a
 array([[ 7.,  5.,  9.,  3.],
        [ 7.,  2.,  7.,  8.],
        [ 6.,  8.,  3.,  2.]])

 >>> a.shape
 (3, 4)

http://www.scipy.org/Numpy_Example_List#shapeにはさらにいくつかの例があります。

于 2012-04-17T22:45:37.510 に答える