Python?ndarray?數(shù)組的變形詳情
一、維數(shù)的變形

1. 一維數(shù)組轉二維數(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ù)組轉化維度也可以用這兩個函數(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ù)組轉一維數(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)

到此這篇關于Python ndarray 數(shù)組的變形詳情的文章就介紹到這了,更多相關Python ndarray 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python游戲實戰(zhàn)項目之童年經(jīng)典超級瑪麗
史上十大最經(jīng)典小霸王游戲中魂斗羅只能排在第二,那么第一是誰?最經(jīng)典最風靡的當屬超級瑪麗,那個戴帽子的大胡子穿著背帶褲的馬里奧哪個不認得,小編帶你用python實現(xiàn)超級瑪麗緬懷童年2021-09-09
Python中print和return的作用及區(qū)別解析
print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧2019-05-05
詳解將Python程序(.py)轉換為Windows可執(zhí)行文件(.exe)
這篇文章主要介紹了詳解將Python程序(.py)轉換為Windows可執(zhí)行文件(.exe),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-07-07
Seaborn數(shù)據(jù)分析NBA球員信息數(shù)據(jù)集
這篇文章主要為大家介紹了Seaborn數(shù)據(jù)分析處理NBA球員信息數(shù)據(jù)集案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
舉例講解Python中的list列表數(shù)據(jù)結構用法
這篇文章主要介紹了Python中的list列表數(shù)據(jù)結構用法,列表是Python內(nèi)置的六種集合類數(shù)據(jù)類型中最常見的之一,需要的朋友可以參考下2016-03-03

