Kが任意の形状のnumpy配列である場合、k.shape = (s1, s2, s3, ..., sn)
であり、k.shape
が(s1, s2, ..., sn, 1)
になるように形状を変更したい場合、これが1つで行うための最良の方法です。ライン?
k.reshape(*(list(k.shape) + [1])
このように簡単です:
k.reshape(k.shape + (1,))
ただし、最後に空のディメンションを追加するだけの場合は、numpy.newaxis
を使用する必要があります。
import numpy as np
k = k[..., np.newaxis]
または
k = k[..., None]
( スライスに関するドキュメント を参照してください)。
numpy.expand_dims を使用できます
In [4]: import numpy as np
In [5]: a = [1,2,3,4]
In [6]: np.expand_dims(a, axis=1)
Out[6]:
array([[1],
[2],
[3],
[4]])