日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

np.newaxis 为 numpy.ndarray(多维数组)增加一个轴

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 np.newaxis 为 numpy.ndarray(多维数组)增加一个轴 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
>> 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. 索引多維數組的某一列時返回的是一個行向量

>>> 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

如果我們索引多維數組的某一列時,返回的仍然是列的結構,一種正確的索引方式是:

>>>X[:, 1][:, np.newaxis] array([[2], [6], [10]])
  • 1
  • 2
  • 3
  • 4

如果想實現第二列和第四列的拼接(層疊):

>>>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]
  • 回復? 2條回復
  • SHY_SOUL

    2017-09-09 14:00
  • 回復leixingzhi7: 但是感覺這樣寫,不如原來的那個好理解
  • lanchunhui

    2017-08-21 21:35
  • 回復leixingzhi7:恩,補充得很好。

總結

以上是生活随笔為你收集整理的np.newaxis 为 numpy.ndarray(多维数组)增加一个轴的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。