È questo il modo migliore per aggiungere un’ulteriore dimensione di un array numpy una sola riga di codice?

Se k è un array numpy di una forma arbitraria, così k.shape = (s1, s2, s3, ..., sn), e voglio trasformarlo in modo che k.shape diventa (s1, s2, ..., sn, 1), è questo il modo migliore per farlo in una sola riga?

k.reshape(*(list(k.shape) + [1])
InformationsquelleAutor immarried | 2013-07-24



2 Replies
  1. 32

    È più facile come questo:

    k.reshape(k.shape + (1,))

    Ma se si vuole aggiungere un vuoto di dimensione, alla fine, si dovrebbe utilizzare numpy.newaxis:

    import numpy as np
    k = k[..., np.newaxis]

    o

    k = k[..., None]

    (Vedere la documentazione affettare).

Lascia un commento