np.newaxis 为 numpy.ndarray(多维数组)增加一个轴
生活随笔
收集整理的這篇文章主要介紹了
np.newaxis 为 numpy.ndarray(多维数组)增加一个轴
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
>> type(np.newaxis)
NoneType
>> np.newaxis == None
True
- 1
- 2
- 3
- 4
np.newaxis 在使用和功能上等價于 None,其實就是 None 的一個別名。
1. np.newaxis 的實用
>> x = np.arange(3) >> x array([0, 1, 2]) >> x.shape (3,)>> x[:, np.newaxis] array([[0],[1],[2]])>> x[:, None] array([[0],[1],[2]])>> x[:, np.newaxis].shape(3, 1)- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
2. 索引多維數(shù)組的某一列時返回的是一個行向量
>>> X = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) >>> X[:, 1] array([2, 6, 10]) % 這里是一個行 >>> X[:, 1].shape % X[:, 1] 的用法完全等同于一個行,而不是一個列, (3, )- 1
- 2
- 3
- 4
- 5
如果我們索引多維數(shù)組的某一列時,返回的仍然是列的結(jié)構(gòu),一種正確的索引方式是:
>>>X[:, 1][:, np.newaxis] array([[2], [6], [10]])- 1
- 2
- 3
- 4
如果想實現(xiàn)第二列和第四列的拼接(層疊):
>>>X_sub = np.hstack([X[:, 1][:, np.newaxis], X[:, 3][:, np.newaxis]]) % hstack:horizontal stack,水平方向上的層疊 >>>X_sub array([[2, 4] [6, 8] [10, 12]])- 1
- 2
- 3
- 4
- 5
- 6
當然更為簡單的方式還是使用切片:
>> X[:, [1, 3]] array([[ 2, 4],[ 6, 8],[10, 12]])- 1
- 2
- 3
- 4
-
leixingzhi7
2017-08-21 19:131樓 - X[:, 1][:, np.newaxis]可以簡化為:X[:, np.newaxis, 1]
- 回復(fù)? 2條回復(fù)
-
SHY_SOUL
2017-09-09 14:00 - 回復(fù)leixingzhi7: 但是感覺這樣寫,不如原來的那個好理解
-
lanchunhui
2017-08-21 21:35 - 回復(fù)leixingzhi7:恩,補充得很好。
總結(jié)
以上是生活随笔為你收集整理的np.newaxis 为 numpy.ndarray(多维数组)增加一个轴的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 3 os.walk使用详解
- 下一篇: 使用python写一个倒计时_Pytho