Я пытаюсь обернуть голову вокруг трехмерных массивов (или многомерных массивов в целом), но это немного пугает меня.Особенно то, как печатается трехмерный массив, противоречит мне.Этот вопрос похож , но он больше касается различий между языками программирования, и я до сих пор не до конца его понимаю.Позвольте мне попытаться объяснить.
Скажем, я хочу создать трехмерный массив с 3 строками (длина), 5 столбцами (ширина) и 2 глубинами.Таким образом, матрица 3x5x2.
Я делаю следующее:
import numpy as np
a = np.zeros(30).reshape(3, 5, 2)
Для меня логичный способ напечатать это будет так:
[[[0. 0. 0. 0. 0.] #We can still see three rows from top to bottom
[0. 0. 0. 0. 0.]] #We can still see five columns from left to right
[[0. 0. 0. 0. 0.] #Depth values are shown underneath each other
[0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0.]]]
Однако, когда я печатаю этот массивон печатается так:
[[[0. 0.] #We can still see three rows from top to bottom,
[0. 0.] #However columns now also appear from top to bottom instead of from left to right
[0. 0.] #Depth values are now shown from left to right
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
[0. 0.]
[0. 0.]]]
Мне неочевидно, почему массив будет печататься таким образом.Может быть, это только я (может быть, здесь нет моих пространственных рассуждений), или есть какая-то конкретная причина, по которой массивы NumPy печатаются так?