Python?ndarray?數(shù)組的變形詳情
一、維數(shù)的變形
1. 一維數(shù)組轉(zhuǎn)二維數(shù)組以及同維變換
import numpy as np arr_1d = np.arange(12) # 使用 numpy 的 arr1 = np.reshape(arr_1d,(3,4)) # 使用 ndarray 的 arr2 = arr_1d.reshape((3, 4))
函數(shù)resize()
的作用跟reshape()
類似,但是會改變所作用的數(shù)組,相當于有inplace=True的效果
2. 二維數(shù)組轉(zhuǎn)化維度也可以用這兩個函數(shù)
import numpy as np arr_2d = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]) arr_2d.reshape((2,6)) # -1 表示不確定有多少列 arr_2d.reshape((4,-1))
3. 二維數(shù)組轉(zhuǎn)一維數(shù)組
ravel()
和flatten()
兩者的區(qū)別在于返回拷貝(copy)還是返回視圖(view),flatten()返回一份拷貝,需要分配新的內(nèi)存空間,對拷貝所做的修改不會影響原始矩陣,而ravel()返回的是視圖(view),會影響原始矩陣。因此在使用ravel時候要格外小心,以免數(shù)據(jù)修改造成原始數(shù)據(jù)的改變。
import numpy as np arr_2d = np.array([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]) a = arr_2d.flatten() a[0] = -999 a, arr_2d b = arr_2d.ravel() b b[0] = -999 b, arr_2d
二、數(shù)組的拼接
1. 橫向拼接
hstack()
——水平拼接,沿著行的方向,對列進行拼接。concatenate()
也可以完成相應的功能,axis=1
時,沿水平方向疊加。
import numpy as np a = np.array([1,2,3,4]).reshape((2,2), order='F') b = np.array([0,0,1,1]).reshape((2,2)) a, b harr = np.hstack((a, b)) harr harr = np.concatenate((a, b), axis=1) harr
2. 縱向拼接
vstack()
——垂直拼接,沿著列的方向,對行進行拼接。concatenate()
也可以完成相應的功能,axis=0
時,沿垂直方向疊加
import numpy as np a = np.array([1,1,0,0]).reshape((2,2)) b = np.array([0,1,0,1]).reshape((2,2)) a, b varr = np.vstack((a, b)) varr varr = np.concatenate((a, b), axis=0) varr
三、數(shù)組的分割
1. 橫向分割
hsplit()
——水平拆分,沿著行的方向,對列進行拼接。split()
也可以完成相應的功能,axis=1
時,沿水平方向拆分。
import numpy as np a = np.array([1,1,0,0]).reshape((2,2)) b = np.array([0,1,0,1]).reshape((2,2)) harr = np.hstack((a, b)) np.hsplit(harr, 2) np.split(harr, 2, axis=1)
2. 縱向分割
hvplit()
——垂直拆分,沿著列的方向,對行進行拼接。split()
也可以完成相應的功能,axis=0
時,沿垂直方向拆分。
import numpy as np a = np.array([1,1,0,0]).reshape((2,2)) b = np.array([0,1,0,1]).reshape((2,2)) varr = np.vstack((a, b)) np.vsplit(varr, 2) np.split(varr, 2, axis=0)
到此這篇關(guān)于Python ndarray 數(shù)組的變形詳情的文章就介紹到這了,更多相關(guān)Python ndarray 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python游戲?qū)崙?zhàn)項目之童年經(jīng)典超級瑪麗
史上十大最經(jīng)典小霸王游戲中魂斗羅只能排在第二,那么第一是誰?最經(jīng)典最風靡的當屬超級瑪麗,那個戴帽子的大胡子穿著背帶褲的馬里奧哪個不認得,小編帶你用python實現(xiàn)超級瑪麗緬懷童年2021-09-09Python中print和return的作用及區(qū)別解析
print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧2019-05-05詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe)
這篇文章主要介紹了詳解將Python程序(.py)轉(zhuǎn)換為Windows可執(zhí)行文件(.exe),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-07-07Seaborn數(shù)據(jù)分析NBA球員信息數(shù)據(jù)集
這篇文章主要為大家介紹了Seaborn數(shù)據(jù)分析處理NBA球員信息數(shù)據(jù)集案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09舉例講解Python中的list列表數(shù)據(jù)結(jié)構(gòu)用法
這篇文章主要介紹了Python中的list列表數(shù)據(jù)結(jié)構(gòu)用法,列表是Python內(nèi)置的六種集合類數(shù)據(jù)類型中最常見的之一,需要的朋友可以參考下2016-03-03