4

1次元配列からゼロ次元サブ配列をスライスする方法はありますか?

たとえば、N 次元がある場合、(N-1) 次元ndarray arrを返します。arr[0]ndarray

ただし、1 次元ndarray xの ,x[0]は 0 次元の ndarray ではなく、numpy.int64, ( sxが含まれている場合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 の両方の入力で機能するからです。すべての機能がそれほど柔軟になるわけではありません。

4

1 に答える 1

7

省略記号を使用します。

increment(counter[1, ...])
于 2014-10-10T17:52:05.747 に答える