Python中NumPy的數(shù)組拆分
拆分 NumPy 數(shù)組
拆分是連接的反向操作。
連接(Joining)是將多個(gè)數(shù)組合并為一個(gè),拆分(Spliting)將一個(gè)數(shù)組拆分為多個(gè)。
我們使用 array_split() 分割數(shù)組,將要分割的數(shù)組和分割數(shù)傳遞給它。
實(shí)例
將數(shù)組分為 3 部分:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
運(yùn)行實(shí)例

注釋:返回值是一個(gè)包含三個(gè)數(shù)組的數(shù)組。
如果數(shù)組中的元素少于要求的數(shù)量,它將從末尾進(jìn)行相應(yīng)調(diào)整。
實(shí)例
將數(shù)組分為 4 部分:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
運(yùn)行實(shí)例

提示:我們也有 split() 方法可用,但是當(dāng)源數(shù)組中的元素較少用于拆分時(shí),它將不會(huì)調(diào)整元素,如上例那樣,array_split() 正常工作,但 split() 會(huì)失敗。
拆分為數(shù)組
array_split() 方法的返回值是一個(gè)包含每個(gè)分割的數(shù)組。
如果將一個(gè)數(shù)組拆分為 3 個(gè)數(shù)組,則可以像使用任何數(shù)組元素一樣從結(jié)果中訪問(wèn)它們:
實(shí)例
訪問(wèn)拆分的數(shù)組:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
運(yùn)行實(shí)例

分割二維數(shù)組
拆分二維數(shù)組時(shí),請(qǐng)使用相同的語(yǔ)法。
使用 array_split() 方法,傳入要分割的數(shù)組和想要分割的數(shù)目。
實(shí)例
把這個(gè) 2-D 拆分為三個(gè) 2-D 數(shù)組。
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
運(yùn)行實(shí)例

上例返回三個(gè) 2-D 數(shù)組。
讓我們看另一個(gè)例子,這次 2-D 數(shù)組中的每個(gè)元素包含 3 個(gè)元素。
實(shí)例
把這個(gè) 2-D 拆分為三個(gè) 2-D 數(shù)組。
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
運(yùn)行實(shí)例

上例返回三個(gè) 2-D 數(shù)組。
此外,您可以指定要進(jìn)行拆分的軸。
下面的例子還返回三個(gè) 2-D 數(shù)組,但它們沿行 (axis=1) 分割。
實(shí)例
沿行把這個(gè) 2-D 拆分為三個(gè) 2-D 數(shù)組。
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
運(yùn)行實(shí)例

另一種解決方案是使用與 hstack() 相反的 hsplit()。
實(shí)例
使用 hsplit() 方法將 2-D 數(shù)組沿著行分成三個(gè) 2-D 數(shù)組。
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
運(yùn)行實(shí)例

提示:vsplit() 和 dsplit() 可以使用與 vstack() 和 dstack() 類似的替代方法。
到此這篇關(guān)于Python中NumPy的數(shù)組拆分的文章就介紹到這了,更多相關(guān)NumPy的數(shù)組拆分內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django細(xì)致講解多對(duì)多使用through自定義中間表方法
我們?cè)陂_發(fā)網(wǎng)站的時(shí)候,無(wú)可避免的需要設(shè)計(jì)實(shí)現(xiàn)網(wǎng)站的用戶系統(tǒng),我們需要實(shí)現(xiàn)包括用戶注冊(cè)、用戶登錄、用戶認(rèn)證、注銷等功能,Django作為完美主義終極框架,它默認(rèn)使用auth_user表來(lái)存儲(chǔ)用戶數(shù)據(jù),下面我們來(lái)看看Django多對(duì)多使用through自定義中間表2022-06-06
python opencv將圖片轉(zhuǎn)為灰度圖的方法示例
這篇文章主要介紹了python opencv將圖片轉(zhuǎn)為灰度圖的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python多線程模塊Threading用法示例小結(jié)
這篇文章主要介紹了Python多線程模塊Threading用法,結(jié)合實(shí)例形式分析了Python多線程模塊Threading相關(guān)概念、原理、進(jìn)程與線程的區(qū)別及使用技巧,需要的朋友可以參考下2019-11-11
淺談django model的get和filter方法的區(qū)別(必看篇)
下面小編就為大家?guī)?lái)一篇淺談django model的get和filter方法的區(qū)別(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
Python的NLTK模塊詳細(xì)介紹與實(shí)戰(zhàn)案例
自然語(yǔ)言處理庫(kù)NLTK在Python中的應(yīng)用廣泛,提供了分詞、詞性標(biāo)注、句法分析等多種功能,本文介紹了NLTK的核心功能、基本概念以及通過(guò)具體實(shí)戰(zhàn)案例(如文本分詞、去除停用詞、詞干提取等)展示了其在NLP任務(wù)中的實(shí)際應(yīng)用2024-09-09

