打印数组
当打印数组时,NumPy以类似于嵌套列表的方式显示它,但是使用以下布局:
- 最后一个轴从左到右打印,
- 第二个到最后一个从上到下打印,
- 其余的也从上到下打印,每个切片与下一个用空行分开。
一维数组被打印为行、二维为矩阵和三维为矩阵列表。
>>> a = np.arange(6) # 1d array
>>> print(a)
[0 1 2 3 4 5]
>>>
>>> b = np.arange(12).reshape(4,3) # 2d array
>>> print(b)
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
>>>
>>> c = np.arange(24).reshape(2,3,4) # 3d array
>>> print(c)
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
有关reshape
的详情,请参阅下文。
如果数组太大而无法打印,NumPy会自动跳过数组的中心部分,并只打印边角:
>>> print(np.arange(10000))
[ 0 1 2 ..., 9997 9998 9999]
>>>
>>> print(np.arange(10000).reshape(100,100))
[[ 0 1 2 ..., 97 98 99]
[ 100 101 102 ..., 197 198 199]
[ 200 201 202 ..., 297 298 299]
...,
[9700 9701 9702 ..., 9797 9798 9799]
[9800 9801 9802 ..., 9897 9898 9899]
[9900 9901 9902 ..., 9997 9998 9999]]
要禁用此行为并强制NumPy打印整个数组,你可以使用set_printoptions
更改打印选项。
>>> np.set_printoptions(threshold='nan')
注意:
例如 要打印一个三维数组时,第一个数字为第三维度的个数,然后是行数,之后是列数。
也就是 [共多少个二维平面,二维平面的行数, 二维平面的列数]
(打印二维数组时首先是行之后才是列)
网友评论