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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对数组下面的数组截取_numpy数组不同索引方式的区别

發(fā)布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对数组下面的数组截取_numpy数组不同索引方式的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

numpy數(shù)組一般有三種索引方式:

  • 基礎(chǔ)索引與切片
  • 布爾索引
  • 神奇索引
  • 三種方法都可截取原數(shù)組中的部分?jǐn)?shù)據(jù),但是使用的時候在本質(zhì)上卻有區(qū)別,尤其是在處理大量數(shù)據(jù)時,不弄清索引本質(zhì),會導(dǎo)致最后預(yù)測結(jié)果不準(zhǔn)確。


    基礎(chǔ)索引與切片

    先上代碼:

    import numpy as nparr = np.arange(25).reshape(5,5) arr

    arr1 = arr[:3] arr1

    arr1[1] = -1 arr

    大家可以從上面的結(jié)果中發(fā)現(xiàn),將arr前3行賦值給arr1,然后將arr1的第2行的數(shù)值改為-1,最后arr也發(fā)生了改變。原因是在基礎(chǔ)索引中,返回的只是原數(shù)組的視圖,而不是復(fù)制原數(shù)組,任何對于視圖的修改,都會影響原數(shù)組。

    解決方法,利用ndarray自帶方法copy(),復(fù)制原數(shù)組。

    arr = np.arange(25).reshape(5,5) arr arr1 = arr.copy() arr1[1]=-1 arr

    布爾索引

    先上代碼:

    bool_ = [True,False,True,False,False]arr1 = arr[bool_]arr1

    arr1[1]=-1arr

    可以發(fā)現(xiàn),布爾索引并未出現(xiàn)類似問題,因?yàn)槔貌紶栔邓饕龝r,總是生成數(shù)據(jù)的拷貝,所以改變選擇數(shù)據(jù),對原數(shù)組沒有影響。

    神奇索引

    index = [3,4,1,2]arr1 = arr[index]arr1

    arr1[1]=-1arr

    神奇索引和布爾索引一樣,選擇數(shù)據(jù)的改變也不會影響原數(shù)組。


    如果這些小Tips對你有幫助的話,求贊 求收藏

    總結(jié)

    以上是生活随笔為你收集整理的对数组下面的数组截取_numpy数组不同索引方式的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。