Python中的shape[0]、shape[1]和shape[-1]分别是什么意思(代码解析)

shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。

直接用.shape可以快速读取矩阵的形状,使用shape[0]读取矩阵第一维度的长度。

.shape的使用方法

>>> import numpy as np
>>> x=np.array([[1,2,3],[4,5,6]])
>>> print(x.shape)
(2, 3)

 

shape[0]的使用方法

>>> import numpy as np
>>> x=np.array([[1,2,3],[4,5,6]])
>>> print(x.shape[0])
2

其实,我们可以发现:

>>> print(len(x))

shape[0]读取矩阵第一维度的长度,即数组的行数。

shape[1]的使用方法

>>> print(x.shape[1])

是我们的数组的列数。

以上都是二维数组中的使用

举个实际例子

 feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE',
                     'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT','MEDV']
    feature_num = len(feature_names)
    # 将原始数据进行Reshape,变成[N, 14]这样的形状
    data = data.reshape([data.shape[0] // feature_num, feature_num])

    #将原数据集拆分成 训练集和测试集
    #这里使用80%的数据做训练,20%的数据做测试
    #测试集和训练集是没有交集的
    ratio = 1
    offset = int(data.shape[0] * ratio)#506 *0.8 =404.8 约等 404
    training_data = data[:offset] #训练集

有时我们会遇到一种新的表示方法:shape[-1]

首先需要知道,对于二维张量,shape[0]代表行数,shape[1]代表列数,同理三维张量还有shape[2]

对于图像来说:

image.shape[0]——图片高

image.shape[1]——图片长

image.shape[2]——图片通道数

而对于矩阵来说:

shape[0]:表示矩阵的行数

shape[1]:表示矩阵的列数

一般来说,-1代表最后一个,所以shape[-1]代表最后一个维度,如在二维张量里,shape[-1]表示列数,注意,即使是一维行向量,shape[-1]表示行向量的元素总数,换言之也是列数:

我们还是举上面的例子:

>>> print(x.shape[-1])

就是求得的列数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值