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 の両方の入力で機能するからです。すべての機能がそれほど柔軟になるわけではありません。