在“ for i in range (Y.form [0])”中. form []做什么?

我正在一行一行地分解一个程序。Y是一个数据矩阵,但是我找不到任何关于 .shape[0]确切功能的具体数据。

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

这个程序使用 numpy、 scypy、 matplotlib.pyplot 和 cvxopt。

449479 次浏览

Numpy 数组的 shape属性返回数组的维数。如果 Yn行和 m列,那么 Y.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

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还有更多 例子。

是一个元组,它给出数组的维数。

>>> 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

给出列数

在 Python 中,熊猫使用 shape()表示行/列的数目:

行数由以下方式给出:

train = pd.read_csv('fine_name') //load the data
train.shape[0]

列数由

train.shape[1]

在 python 中,假设您已经将数据加载到某个可变的 train 中:

train = pandas.read_csv('file_name')
>>> train
train([[ 1.,  2.,  3.],
[ 5.,  1.,  2.]],)

我想检查一下‘ file _ name’的尺寸是多少

>>>train.shape
(2,3)
>>>train.shape[0]              # will display number of rows
2
>>>train.shape[1]              # will display number of columns
3

shape()由具有两个参数行和列的数组组成。

如果你搜索 shape[0],它会给你行数。 shape[1]将给出列数。