[英]Print a 1-D slice of a numpy array vertically
我正在嘗試打印 numpy 數組的垂直切片,以便它垂直顯示但始終水平打印。 給定這個方形數組:
a = np.ones([5,5])
我試過了:
print a[:,1]
print np.reshape(a[:,1], (1,-1))
print a[:,1].T
print [a[:,1].T]
這給我:
[ 1. 1. 1. 1. 1.]
[[ 1. 1. 1. 1. 1.]]
[ 1. 1. 1. 1. 1.]
[array([ 1., 1., 1., 1., 1.])]
我想看看:
[[1],
[1],
[1],
[1],
[1]]
您需要添加一個新軸:
a[:, 1, None]
Out:
array([[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.]])
要么
a[:, 1, np.newaxis]
Out:
array([[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.]])
我將第二個索引器放在方括號中
a[:, [1]]
array([[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.]])
添加尺寸的另一種方法:
a[:,1:2]
Out:
array([[ 1.],
[ 1.],
[ 1.],
[ 1.],
[ 1.]])
你也可以使用np.vstack()
:
print(np.vstack(a[:,1]))
[[1.]
[1.]
[1.]
[1.]
[1.]]
另一個選擇是,我有時使用atleast_2d
:
np.atleast_2d(a[:, 1]).T
(也有atleast_1d
和atleast_3d
選項)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.