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()
類似,但是會(huì)改變所作用的數(shù)組,相當(dāng)于有inplace=True的效果
2. 二維數(shù)組轉(zhuǎn)化維度也可以用這兩個(gè)函數(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)存空間,對(duì)拷貝所做的修改不會(huì)影響原始矩陣,而ravel()返回的是視圖(view),會(huì)影響原始矩陣。因此在使用ravel時(shí)候要格外小心,以免數(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()
——水平拼接,沿著行的方向,對(duì)列進(jìn)行拼接。concatenate()
也可以完成相應(yīng)的功能,axis=1
時(shí),沿水平方向疊加。
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()
——垂直拼接,沿著列的方向,對(duì)行進(jìn)行拼接。concatenate()
也可以完成相應(yīng)的功能,axis=0
時(shí),沿垂直方向疊加
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()
——水平拆分,沿著行的方向,對(duì)列進(jìn)行拼接。split()
也可以完成相應(yīng)的功能,axis=1
時(shí),沿水平方向拆分。
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()
——垂直拆分,沿著列的方向,對(duì)行進(jìn)行拼接。split()
也可以完成相應(yīng)的功能,axis=0
時(shí),沿垂直方向拆分。
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例
今天小編就為大家分享一篇python 讀取數(shù)據(jù)庫(kù)并繪圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python游戲?qū)崙?zhàn)項(xiàng)目之童年經(jīng)典超級(jí)瑪麗
史上十大最經(jīng)典小霸王游戲中魂斗羅只能排在第二,那么第一是誰(shuí)?最經(jīng)典最風(fēng)靡的當(dāng)屬超級(jí)瑪麗,那個(gè)戴帽子的大胡子穿著背帶褲的馬里奧哪個(gè)不認(rèn)得,小編帶你用python實(shí)現(xiàn)超級(jí)瑪麗緬懷童年2021-09-09python多繼承(鉆石繼承)問(wèn)題和解決方法簡(jiǎn)單示例
這篇文章主要介紹了python多繼承(鉆石繼承)問(wèn)題和解決方法,結(jié)合實(shí)例形式分析了Python多繼承調(diào)用父類初始化方法相關(guān)操作技巧,需要的朋友可以參考下2019-10-10Python中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),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Seaborn數(shù)據(jù)分析NBA球員信息數(shù)據(jù)集
這篇文章主要為大家介紹了Seaborn數(shù)據(jù)分析處理NBA球員信息數(shù)據(jù)集案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪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