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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

一文看懂NumPy的切片中常用的冒号

發布時間:2025/3/15 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文看懂NumPy的切片中常用的冒号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? NumPy是Python語言的一個擴展程序庫。支持高階大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。在進行大量數據計算中,NumPy會為我們提供很多的方便。最近我在學習CV方面的知識,卻老是弄混冒號在切片的作用,就寫一篇文章來加深一下印象。

一維數組

? 在一維數組中我們常見的表示方法有s[i:j] ,s[i:j:k],s[::-1]等等,下面我會依次實驗一下各種符號的作用。

import numpy as np # 生成一個0到9的np數組(注意跟數組一樣,下標是從零開始) a = np.arange(10) # 打印數組 print("a={}".format(a)) # 取下標為1的元素到下標為8的元素(左閉右開) b=a[1:8] print("b={}".format(b)) # 開頭省略意味著從起始位置開始取-1代表倒數第一個元素位置(左閉右開) c=a[:-1] print("c={}".format(c)) # 開頭省略意味著從起始位置開始取-2代表倒數第二個元素位置(左閉右開) d=a[:-2] print("d={}".format(d)) # 從倒數第二個元素開始直到最后一個元素為止 e=a[-2:] print("e={}".format(e)) # a[i:j:k]表示從i開始步長為k取到j元素為止 f= a[1:8:2] print("f={}".format(f)) # s[::-1]是從最后一個元素到第一個元素反向復制一遍 g=a[::-1] print("g={}".format(g))

?

輸出:

在一維數組中還是比較簡單的,“:代表取全部元素”

二維數組

? 二維數組的情況稍微復雜,因為維度增加了所以引入“,”來作為不同維度的分隔符

import numpy as npa = np.array([[1,2,3],[3,4,5],[4,5,6]]) # 打印數組 print("a={}".format(a))# 第一維全取(即行),第二位只取下標為1的那列 b=a[:,1] print("b={}".format(b))# 第一維全取(即行),第二位從下標為1的那列起直到結尾 c=a[:,1:] print("c={}".format(c))# 第二維全取(即列),第一維只取下標為1的那列 d=a[1,:] print("d={}".format(d))# 第一維取下標為一開始,第二維取到下標為1為止 e=a[1:,:1] print("e={}".format(e))# 此處省略號可以理解為取全部元素,需要具體分析 f= a[1,...] print("f={}".format(f))

輸出:

三維數組

??三維數組乃至多維數組是比較難理解的,需要多進行操作思考

import numpy as npa = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]],[[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]],[[25, 26, 27, 28], [29, 30, 31, 32], [33, 34, 35, 36]],]) # 打印數組 print("a={}".format(a)) b=a[1,2,1] print("b={}".format(b))c=a[::,1] print("c={}".format(c))d=a[1,:1,2:] print("d={}".format(d))

輸出:


在這里推薦一位大佬寫的文章,十分詳細,我只是挑了其中的一小部分,想要更加深入了解的同學移步:Python二維數組與三維數組切片詳解

總結

以上是生活随笔為你收集整理的一文看懂NumPy的切片中常用的冒号的全部內容,希望文章能夠幫你解決所遇到的問題。

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