【发布时间】:2016-04-28 02:17:16
【问题描述】:
给定 ndarray:
A = np.array([np.array([1], dtype='f'),
np.array([2, 3], dtype='f'),
np.array([4, 5], dtype='f'),
np.array([6], dtype='f'),
np.array([7, 8, 9], dtype='f')])
显示为:
A
array([array([ 1.], dtype=float32), array([ 2., 3.], dtype=float32),
array([ 4., 5.], dtype=float32), array([ 6.], dtype=float32),
array([ 7., 8., 9.], dtype=float32)], dtype=object)
我正在尝试从 A 的每个“子数组”的第一个元素创建一个新数组。为了向您展示我的意思,下面是一些使用循环创建我想要的数组的代码。我想尽可能高效地实现相同的目标,因为我的数组 A 非常大(约 50000 个条目)并且我需要多次执行该操作。
B = np.zeros(len(A))
for i, val in enumerate(A):
B[i] = val[0]
B
array([ 1., 2., 4., 6., 7.])
【问题讨论】:
标签: numpy multidimensional-array indexing