python中ndim是什么_使用Python中的ndim和shape属性获取darray数据的维度、长度、形状和其他参数,python,ndarray,等...

本文介绍了Python中ndarray的ndim和shape属性,通过实例展示了如何获取多维数组的维度和形状。以二维和三维数组为例,解释了维度与形状的概念,强调在实际开发中,二维数组已足够使用,三维以上数组的管理和理解难度较大。
摘要由CSDN通过智能技术生成

我们在描述一个多维数组的时候,经常会用到两个参数:维度(dimension)和形状(shape),以二维数组为例,我们可以用矩阵来形象地联想这两个参数,对于矩阵,显然我们最常见的矩阵是二维的,所以他的dim参数就是2,而对于形状,可以想象成这个矩阵(矩形)的的高和宽,比如一个4行3列的矩阵,他的高就是4,宽就是3。所以他的shape参数就是(4,3),这是一对数字,因此在python中使用元祖(tuple)数据结构来表示这个属性。我们可使用以下代码来进行演示:

import numpy as np

data = np.array([

[1,2,3],

[4,5,6],

[7,8,9],

[0,0,0]

])

print(data)

print(data.ndim)

print(data.shape)

在运行之后,我们可以得到以下结果:

[[1 2 3]

[4 5 6]

[7 8 9]

[0 0 0]]

2

(4, 3)

[Finished in 1.2s]

对于大于二维的多维数组,我们可以认为就是数组的数组的数组…,我们可以用嵌套(类似于套娃结构)来描述,是几维的就有多少层嵌套。但是一般而言,我们用二维的数组就够用了,三维数组被称为张量(Tensor),在机器学习中有非常好的应用。

对于三维数组,我们可以使用以下代码进行演示:

import numpy as np

data_1dim = np.array([1,2,3,4])

data_2dim = np.array([data_1dim,data_1dim,data_1dim])

data_3dim = np.array([data_2dim,data_2dim])

print(data_3dim)

print(data_3dim.ndim)

print(data_3dim.shape)

我们打印出三维数组的形态如下:

[[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]

[[1 2 3 4]

[1 2 3 4]

[1 2 3 4]]]

3

(2, 3, 4)

[Finished in 1.6s]

可以看出,他是数组的数组的数组,我们在分析多维数组的时候,要理清楚结构,这个要根据配对的方括号来进行判断,找到级别的,比如这里第一队括号相对于是爷爷级别的,其他的和爷爷平级的就是第一维的元素,然后括号里面的又有括号,那就是爸爸级别的,括号里面的括号里面的括号,就是儿子级别的,数组的shape就相当于一共有几个爷爷,一个爷爷生了几个爸爸,一个爸爸生了几个儿子,这样就可以形象地理解多维数组的结构了,不过我们在使用的时候,用到二维数组就够了,三维以上的理解起来和维护起来太麻烦了,不利于软件工程的开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值