栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何访问numpy ndarray的元素?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何访问numpy ndarray的元素?

如果不详细查看您的错误,我可以指出一些陷阱。

.mat将包含MATLAB矩阵(始终为2d或更高),单元格和结构。

loadmat
以各种方式渲染它们。有些字典必须按名称索引。有对象数组(dtype =
object)。并且有nd数字或字符串数​​组。您可能必须经过几个级别才能获得数字数组。

检查数组的“形状”(大小)及其“ dtype”。如果shape是

()
dtype
object,则用提取它
y=x[()]

这是一个0d对象数组的示例:

In [4]: y=np.arange(3)In [5]: x=np.empty((), dtype=object)    In [6]: x[()]=yIn [7]: xOut[7]: array(array([0, 1, 2]), dtype=object)In [8]: x.shapeOut[8]: ()In [9]: x.dtypeOut[9]: dtype('O')In [10]: x[0]...IndexError: too many indices for arrayIn [11]: x[()]Out[11]: array([0, 1, 2])

x
是一个0d数组(x.ndim),因此必须使用0元素元组索引
()
。对于MATLAB程序员来说,这似乎很奇怪。

numpy
(一般
x[a,b,c]
为Python)中,与
x[(a,b,c)]
和相同
ind=(a,b,c);x[ind]
。换句话说,参数in
[]
被理解为值的元组。
(1,2)
是2元素元组,
(1,)
是一个元素(
(1)
只是一个分组),并且
()
是0元素元组。因此,
x[()]
这只是常规
nd
索引符号的扩展。这不是特例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652900.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号