gpt4 book ai didi

Pythonic 方式在不丢失维度的情况下建立索引

转载 作者:行者123 更新时间:2023-12-01 06:34:41 24 4
gpt4 key购买 nike

data = np.zeros((5, 16, 16))

我想访问这个 numpy 数据数组的大小为 1 的切片。定义我不想要什么可能会有所帮助:

>>> data[2].shape
(16, 16)

相反,我想保持维度相同。这里想到了几种方法:

>>> np.expand_dims(data[2], 0).shape
(1, 16, 16)

>>> data[2:3].shape
(1, 16, 16)

>>> data[None, 2].shape
(1, 16, 16)

这些选项中哪一个更Pythonic,或者这里有更好的解决方案吗?

最佳答案

您还可以使用具有单个元素的索引列表来完成此操作:

>>> data[[2]].shape
(1, 16, 16)

至于哪一个更Pythonic,那是基于观点的。

<小时/>

注意:此方法将创建数据的副本,而不是相同数据的 View ,因为任意索引可能不会产生连续的 View 。这在问题Avoid copying when indexing a numpy arrays using lists中有详细解释。

关于Pythonic 方式在不丢失维度的情况下建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59733444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com