axis = 3 untuk array 3D di numpy?

Sep 21 2020

Saya bingung mengapa saya tidak mendapatkan kesalahan untuk axis = 3 berikut ini

import numpy as np

a = np.arange(27)
b = np.arange(27)

a = a.reshape((3,3,3))
b = b.reshape((3,3,3))

c = np.mean([a,b],axis=3)

Saya menggunakan kode di atas sebagai cara untuk memahami bagaimana sumbu bekerja di numpy.

Dari artikel ini yang menunjukkan kasus 2D:

Saya menemukan bahwa untuk sumbu multi dimensi, sumbu 0 selalu sepanjang baris (dimensi y), sumbu 1 (dimensi x) di sepanjang kolom. Jadi dalam kasus saya di mana saya memiliki array 3d, saya pikir saya akan memiliki 1 sumbu lagi, sumbu = 2 di sepanjang 'arah z'. Namun numpy memungkinkan saya untuk memasukkan axis = 3 juga? Di mana arah pengindeksan ini? Bagaimana numpy menggunakan sumbu ini untuk menghitung mean?

Jawaban

3 MichaelSzczesny Sep 21 2020 at 21:42

Anda membuat array 4D dalam panggilan tersebut

c = np.mean([a,b],axis=3) # [a,b] adds 4th dimension
np.array([a,b]).shape

Keluaran

 (2, 3, 3, 3)