Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
生活随笔
收集整理的這篇文章主要介紹了
Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. ndarray的基本操作
# 1.索引與切片 和列表的是一個道理 n2 = np.arange(0,10,1) print(n2) print(n2[::-1]) #反轉 print(n2[::2]) #按步長取數據#2. 變形 使用reshape函數,注意參數是一個tuple! n3 = n2.reshape((5,2)) print(n3) # 3. 級聯 np.concatenate() 即就是將兩個數組連接起來 # 級聯的參數是列表:一定要加中括號或小括號 # 維度必須相同,形狀相符 n1 = np.random.randint(0,10,size=(5,5)) print(n1) # 將n1和n1連接起來,axis=0為列連接,axis=1為行連接 n2 = np.concatenate((n1,n1),axis=0) print(n2)# 4.轉換維度 n3 = np.random.randint(0,10,10) print(n3) # 將水平的轉化為垂直的 n4 = np.vstack(n3) print(n4) # 將垂直的轉化為水平的 n5 = np.hstack(n4) print(n5)# 5.切分 # 5.1 np.split() n6 = np.random.randint(0,255,size=(7,7)) print(n6) # 把n6數組從第二個到第三個切割開來 # (數組角標從0開始,左閉右開),前面是部分,指定的切割內容是一部分,后面是一部分 # 里面的axis默認等于0,即對“行”進行切分 n7 = np.split(n6,(2,4)) print(n7) # 參數axis=1, 即對“列”進行切分 n8 = np.split(n6,(2,4),axis=1) print(n8) # 5.2 np.vsplit() # 切分行 n9 = np.vsplit(n6,(1,3)) print(n9) # 5.3 np.hsplit() # 切分列 n9 = np.vsplit(n6,(1,3)) print(n9) # 6 副本 copy() n = np.array([1,2,3,4]) n1 = n # 把n的值直接賦值給n1 n1[2] = 1024 #修改n1里面的一個值 print("n2為:",n1) print("n為:",n) # n2為: [ 1 2 1024 4] # n為: [ 1 2 1024 4] # 我們會發現用等號直接賦值的方式時,修改n1,n里面的數也會被修改 # 為防止上述的情況出現,用copy() n3 = np.array([1,2,3,4]) n4 = n.copy() #使用 copy()函數創建副本 n4[2] = 1024 print("n3為:",n) print("n4為:",n3) # n3為: [ 1 2 1024 4] # n4為: [1 2 3 4]?
總結
以上是生活随笔為你收集整理的Python中Numpy(2,numpy的基本操作(级联,维度转换,切分,副本))的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中的Numpy模块(1,nu
- 下一篇: Python中的Numpy(3.聚合操作