【发布时间】:2020-04-08 10:11:30
【问题描述】:
想象一个N x M 维度的numpy 数组。在每个单元格中,它包含一个带有X 元素的结构化数组,每个元素都包含一个x_label。
我想访问特定的x_label,因此它返回一个仅包含感兴趣标签值的N x M 数组。
有没有办法做到这一点,而不必使用for 循环(或np.map())函数并创建一个新数组?
例子:
import numpy as np
arr = np.array([[[],[]],
[[],[]]])
# Each cell contains:
np.array([('par1', 'par2', 'par3')], dtype=[('label_1', 'U10'), ('label_2', 'U10'), ('label3', 'U10')])
我怎样才能得到一个只有 par1 值的 2x2 np.array?
我尝试过不成功:
arr['label_1']
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
谢谢!
【问题讨论】:
-
你的外部数组是什么 dtype?
标签: python arrays numpy multidimensional-array structured-array