class ‘numpy.ndarray‘ 用法 您所在的位置:网站首页 ndarray转字典 class ‘numpy.ndarray‘ 用法

class ‘numpy.ndarray‘ 用法

2023-05-25 13:24| 来源: 网络整理| 查看: 265

问题描述:

ndarray数组存储一个字典,对字典索引某个键值对时,报错:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices 原因分析:

报错代码:

print(parameter['generator/W_out_G:0'])

刚遇到这个错误,因为parameter这个字典存储在数组中,自然想到我没有指定哪个字典,就直接使用键来索引,所以改为:

print(parameter[0]['generator/W_out_G:0'])#只存储一个字典

但又报错:

IndexError: too many indices for array: array is 0-dimensional, but 1 were indexed

说明这个[0]不该加,既然加不加都报错,那该怎么索引呢? 看错误给了提示(我也是糊涂了好一会才反应过来(╯□╰)),array(parameter)是0维的数组,那么指明字典就不是[0]这种方式,应该改为:

print(parameter.item()['generator/W_out_G:0']) ndarray的索引知识:

在 NumPy 中,我们可以使用 numpy.ndarray 类型来表示多维数组。数组可以是零维、一维或多维的,具体如下:

零维数组:也称为标量,是一个单一的数值,例如 42 或 3.14,用 numpy.ndarray 类型表示时,其 shape 属性为一个空元组 ()。可以使用 item() 方法来获取该数值。 ★★★★:感觉零维数组不常用,索引方式就容易被人忽略。。。

一维数组:由一系列数值组成,例如 [1, 2, 3, 4, 5] 或 [0.1, 0.2, 0.3, 0.4],用 numpy.ndarray 类型表示时,其 shape 属性为一个整数元组,例如 (5,) 或 (4,),可以通过索引访问其中的元素。

多维数组:由多个一维数组组成,例如 [[1, 2], [3, 4], [5, 6]] 或 [[0.1, 0.2], [0.3, 0.4], [0.5, 0.6]],用 numpy.ndarray 类型表示时,其 shape 属性为一个整数元组,例如 (3, 2)。可以通过使用多个索引值来访问多维数组中的元素。例如,对于数组 arr,可以使用 arr[i][j] 或 arr[i, j] 来访问其中的元素。其中,第一个索引值 i 表示行数,第二个索引值 j 表示列数。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有