Sel*_*Dot 5 python arrays numpy multidimensional-array python-3.x
我正在NumPy中处理3d数组,我必须大量研究数组元素。说我有阵a哪里a.shape是(10,5,3)。我正在使用的是3个形状平面的感觉(10,5),我想这样看。
例如,如果我
print(a)
Run Code Online (Sandbox Code Playgroud)
我懂了
[[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]
[[ 0 0 0]
[ 0 22 0]
[11 22 33]
[ 0 0 0]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[ 0 0 0]
[11 22 33]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[ 0 0 0]
[11 22 0]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[11 0 0]
[11 22 0]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[ 0 22 0]
[11 0 0]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[ 0 0 0]
[11 22 0]
[ 0 0 0]]
[[ 0 0 0]
[11 22 33]
[ 0 0 0]
[11 22 33]
[ 0 0 0]]
[[ 0 0 0]
[11 22 0]
[ 0 22 33]
[11 22 0]
[ 0 0 0]]
[[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]
[ 0 0 0]]]
Run Code Online (Sandbox Code Playgroud)
而如果我遍历第2轴并像这样打印,它的显示方式将是我想要的:
>>> for i in range(a.shape[2]):
... print(str(a[:,:,i]) + "\n")
...
[[ 0 0 0 0 0]
[ 0 0 11 0 0]
[ 0 11 0 11 0]
[ 0 11 0 11 0]
[ 0 11 11 11 0]
[ 0 11 0 11 0]
[ 0 11 0 11 0]
[ 0 11 0 11 0]
[ 0 11 0 11 0]
[ 0 0 0 0 0]]
[[ 0 0 0 0 0]
[ 0 22 22 0 0]
[ 0 22 0 22 0]
[ 0 22 0 22 0]
[ 0 22 0 22 0]
[ 0 22 22 0 0]
[ 0 22 0 22 0]
[ 0 22 0 22 0]
[ 0 22 22 22 0]
[ 0 0 0 0 0]]
[[ 0 0 0 0 0]
[ 0 0 33 0 0]
[ 0 33 0 33 0]
[ 0 33 0 0 0]
[ 0 33 0 0 0]
[ 0 33 0 0 0]
[ 0 33 0 0 0]
[ 0 33 0 33 0]
[ 0 0 33 0 0]
[ 0 0 0 0 0]]
Run Code Online (Sandbox Code Playgroud)
在我看来,这更有意义。
因此,似乎我的直觉使轴的可视化方式颠倒了,我的数组a应该是(3,5,10)的形状。但是,我有一个围绕某种格式的数组的整个项目,因此我现在不能真正对其进行更改。我认为轴的顺序是任意的,这就是为什么我对此有所限制。那么,是否有一些我可以让NumPy以反向或任意顺序打印轴的快速甚至内置方式?我查看了文档numpy.set_printoptions,发现没有任何东西。我意识到打印是种琐碎的事情,但是我想绕开为更好地查看数据而必须做的所有切片。也许有人可以解释为什么它不是完全任意的,也许我应该以不同的方式考虑数组轴。
不幸的是,这不能通过 NumPys 打印选项中的简单开关来完成。您确实必须重新排序轴以获得所需的输出(这很容易)。
如果只是为了printing,你可以简单地定义一个围绕打印函数的薄包装器:
import numpy as np
def my_numpy_print(arr):
if arr.ndim == 3:
print(arr.transpose(2, 0, 1))
else: # no idea how you want it to be displayed for different dimensional arrays.
print(arr)
arr = ...
my_numpy_print(arr)
Run Code Online (Sandbox Code Playgroud)
输出:
[[[ 0 0 0 0 0] [ 0 0 11 0 0] [ 0 11 0 11 0] [ 0 11 0 11 0] [ 0 11 11 11 0] [ 0 11 0 11 0] [ 0 11 0 11 0] [ 0 11 0 11 0] [ 0 11 0 11 0] [0 0 0 0 0]] [[0 0 0 0 0] [ 0 22 22 0 0] [ 0 22 0 22 0] [ 0 22 0 22 0] [ 0 22 0 22 0] [ 0 22 22 0 0] [ 0 22 0 22 0] [ 0 22 0 22 0] [ 0 22 22 22 0] [0 0 0 0 0]] [[0 0 0 0 0] [ 0 0 33 0 0] [ 0 33 0 33 0] [ 0 33 0 0 0] [ 0 33 0 0 0] [ 0 33 0 0 0] [ 0 33 0 0 0] [ 0 33 0 33 0] [ 0 0 33 0 0] [0 0 0 0 0]]]
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |