为什么numpy.take()只在元组中返回一个值?

时间:2015-08-25 22:07:38

标签: python list numpy

我希望尽可能简洁。

说我有以下列表:

x = [(1,2,3), (4,5,6)]

在此列表中获取第一个元组很简单:

x[0]

这会返回(1, 2, 3)

但是,如果我使用:

numpy.take(x, 0)

返回的值为1

这是take()的意图吗?这看起来非常违反直觉。有人有解释或解决方法吗?感谢。

1 个答案:

答案 0 :(得分:4)

如果要沿第一轴索引,则需要将axis指定为0:

>>> np.take(x,0,axis=0)
array([1, 2, 3])

请注意,如果您未默认设置轴,则基于documentation,将使用展平的输入数组。