gpt4 book ai didi

python - 如何从numpy中的一维数组中提取零维切片

转载 作者:太空狗 更新时间:2023-10-30 02:19:58 24 4
gpt4 key购买 nike

有没有办法从一维数组中切出一个零维子数组?

例如,如果我有一个 N 维的 ndarray arrarr[0] 返回一个 (N-1) 维的ndarray.

但是,如果我有一个一维的 ndarray xx[0] 不会返回一个 0 维的 ndarray,而是 numpy.int64,(如果 x 包含 int64)。

最小的例子:

def increment(zero_d_array):
zero_d_array[...] = zero_d_array + 1

counter = numpy.array(0) # a zero-dimensional array containing scalar 0
increment(counter) # success; counter is now 1

counters = numpy.zeros(3, dtype=int) # [0, 0, 0]
increment(counter[1]) # fails; counter[1] is a numpy.int64, not a 0-D array

我意识到上面的方法适用于 increment(counter[1:2]),但这只是因为 increment() 恰好适用于 0-D 和 1 -D 输入。并非所有功能都如此灵活。

最佳答案

使用省略号:

increment(counter[1, ...])

关于python - 如何从numpy中的一维数组中提取零维切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26304939/

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