最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NumPy 數(shù)組拼接與分割的使用詳解

 更新時(shí)間:2026年01月06日 09:57:32   作者:Humbunklung  
NumPy 提供了多種方法用于??數(shù)組拼接??和??分割,這些操作在數(shù)據(jù)預(yù)處理、特征工程和結(jié)果整合中至關(guān)重要,下面就來詳細(xì)的介紹一下NumPy 數(shù)組拼接與分割的使用,感興趣的可以了解一下

NumPy 提供了多種方法用于??數(shù)組拼接(Concatenation)??和?分割(Splitting)??,這些操作在數(shù)據(jù)預(yù)處理、特征工程和結(jié)果整合中至關(guān)重要。

一、數(shù)組拼接(Concatenation)?

1. ?核心函數(shù)?

函數(shù)用途適用場景
np.concatenate()沿指定軸拼接多個數(shù)組通用拼接(需數(shù)組維度一致)
np.vstack()垂直(按行)拼接二維數(shù)組的行疊加
np.hstack()水平(按列)拼接二維數(shù)組的列疊加
np.stack()沿新軸堆疊數(shù)組增加新維度(如通道維度)

2. 代碼示例??

  • ??np.concatenate
import numpy as np

a = np.array([[1, 2], [3, 4]])  # shape (2,2)
b = np.array([[5, 6]])          # shape (1,2)

# 沿軸0(行方向)拼接
c = np.concatenate((a, b), axis=0)  
print(c)
# 輸出:
# [[1 2]
#  [3 4]
#  [5 6]]
  • np.vstacknp.hstack
# 垂直拼接(等效于 concatenate(axis=0)
v_combined = np.vstack([a, b])  # 結(jié)果同上

# 水平拼接(要求行數(shù)相同)
d = np.array([[7], [8]])        # shape (2,1)
h_combined = np.hstack([a, d])  
print(h_combined)
# 輸出:
# [[1 2 7]
#  [3 4 8]]
  • np.stack 增加新維度
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

# 沿新軸0堆疊(創(chuàng)建三維數(shù)組)
stacked = np.stack([x, y], axis=0)  # shape (2,3)
print(stacked)
# 輸出:
# [[1 2 3]
#  [4 5 6]]

二、數(shù)組分割(Splitting)

1. ?核心函數(shù)

|函數(shù) |用途 |適用場景|
|np.split() |沿指定軸均勻分割數(shù)組 |等分?jǐn)?shù)組(需可整除)|
|np.vsplit() |垂直分割(按行) |二維數(shù)組的行分割|
|np.hsplit() |水平分割(按列) |二維數(shù)組的列分割|
|np.array_split() |支持不均勻分割 |處理無法整除的情況|

2. 代碼示例

  • np.split 均勻分割
arr = np.arange(9).reshape(3, 3)  # [[0 1 2], [3 4 5], [6 7 8]]

# 沿軸0分割為3個子數(shù)組(每行一個)
sub_arrays = np.split(arr, 3, axis=0)  
# 結(jié)果: [array([[0,1,2]]), array([[3,4,5]]), array([[6,7,8]])]
  • np.array_split 不均勻分割
# 將6個元素分割為4個子數(shù)組(允許不等分)
arr = np.arange(6)  # [0 1 2 3 4 5]
subs = np.array_split(arr, 4)  
# 結(jié)果: [array([0,1]), array([2,3]), array([4]), array([5])]
subs
  • np.hsplit 按列分割
matrix = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

# 在第2列和第3列間分割
split_cols = np.hsplit(matrix, [2])  
# 結(jié)果: 
# [array([[1, 2], [5, 6]]), 
#  array([[3, 4], [7, 8]])]
split_cols

三、內(nèi)存與性能

1. 拼接后的數(shù)組為新對象??

  • 拼接操作??始終生成新數(shù)組??(原數(shù)據(jù)不受影響)
  • 內(nèi)存占用較高(需存儲拼接后的完整數(shù)據(jù))

2. 分割后的子數(shù)組為視圖??

  • split() 返回的是??原數(shù)組的視圖??(共享內(nèi)存)
  • 修改子數(shù)組會影響原數(shù)據(jù)
arr = np.arange(9).reshape(3, 3)
sub_arrays = np.split(arr, 3, axis=0)
sub_arrays[0][0,0] = 100
print(sub_arrays)  # 輸出: [array([[100, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]
print(arr[0, 0])  # 輸出: 100 → 原數(shù)組被修改!

四、實(shí)用場景

1. 數(shù)據(jù)集合并??

# 合并訓(xùn)練集和驗(yàn)證集
X_train = np.random.rand(100, 5)
X_val = np.random.rand(20, 5)
X_combined = np.concatenate([X_train, X_val], axis=0)

2. ??圖像分塊處理

# 將大圖像分割為8x8小塊
image = np.random.rand(256, 256)
blocks = np.split(image, 32, axis=0)  # 先垂直分割
blocks = [np.split(block, 32, axis=1) for block in blocks]  # 再水平分割

image
blocks

3. 特征與標(biāo)簽分離

data = np.loadtxt("dataset.csv", delimiter=",")
X, y = np.hsplit(data, [-1])  # 最后一列為標(biāo)簽

五、錯誤處理

常見錯誤?? ??解決方法??
拼接維度不匹配檢查 axis 方向的數(shù)據(jù)形狀一致性
分割數(shù)量無法整除改用 np.array_split
修改子數(shù)組影響原數(shù)據(jù)使用 .copy() 創(chuàng)建獨(dú)立副本

到此這篇關(guān)于NumPy 數(shù)組拼接與分割的使用詳解的文章就介紹到這了,更多相關(guān)NumPy 數(shù)組拼接與分割內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • No module named ‘win32gui‘ 的解決方法(踩坑之旅)

    No module named ‘win32gui‘ 的解決方法(踩坑之旅)

    這篇文章主要介紹了No module named ‘win32gui‘ 的解決方法(踩坑之旅),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python同時(shí)替換多個字符串方法示例

    python同時(shí)替換多個字符串方法示例

    這篇文章主要介紹了python同時(shí)替換多個字符串方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python 獲取新浪微博的最新公共微博實(shí)例分享

    Python 獲取新浪微博的最新公共微博實(shí)例分享

    因?yàn)楣ぷ?,需要抓取微博?nèi)容。在百度上找到多篇關(guān)于用Python實(shí)現(xiàn)抓取新浪微博的文章,但似乎都不湊效,還是自己來吧,俗話說自己動手豐衣足食嘛
    2014-07-07
  • Python?dateutil庫簡化日期時(shí)間處理利器使用場景實(shí)踐

    Python?dateutil庫簡化日期時(shí)間處理利器使用場景實(shí)踐

    在Python中,處理日期和時(shí)間是常見的任務(wù)之一,dateutil庫是Python標(biāo)準(zhǔn)庫中datetime模塊的擴(kuò)展,提供了許多方便的工具和函數(shù),簡化了日期和時(shí)間的操作
    2023-12-12
  • Python中selenium_webdriver下拉框操作指南

    Python中selenium_webdriver下拉框操作指南

    selenium 雖然過了這么多年,但是到目前為止依然是比較流行的自動化框架了,下面這篇文章主要給大家介紹了關(guān)于Python中selenium_webdriver下拉框操作的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • python不支持i++運(yùn)算原理實(shí)例解析

    python不支持i++運(yùn)算原理實(shí)例解析

    這篇文章主要為大家介紹了python不支持 i++運(yùn)算原理實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-02-02
  • 用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例

    大家好,本篇文章主要講的是用Python采集《雪中悍刀行》彈幕做成詞云實(shí)例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • pandas庫中to_datetime()方法的使用解析

    pandas庫中to_datetime()方法的使用解析

    這篇文章主要介紹了pandas庫中to_datetime()方法的使用解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python中常見占位符的用法解析

    Python中常見占位符的用法解析

    在Python編程中,經(jīng)常需要在字符串中插入變量或占位符來構(gòu)建動態(tài)的文本內(nèi)容,這篇文章主要為大家介紹了一些常見占位符的使用,需要的可以了解下
    2024-01-01
  • PyQt5 QListView 高亮顯示某一條目的案例

    PyQt5 QListView 高亮顯示某一條目的案例

    這篇文章主要介紹了PyQt5 QListView 高亮顯示某一條目的案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

商都县| 卫辉市| 高雄县| 台南市| 恩施市| 沿河| 绥阳县| 泗洪县| 溧阳市| 启东市| 闻喜县| 澎湖县| 高雄市| 小金县| 平原县| 潮安县| 益阳市| 井研县| 剑河县| 横山县| 金塔县| 青海省| 甘孜| 苍梧县| 九寨沟县| 潢川县| 临沭县| 邵武市| 卢湾区| 喜德县| 盐城市| 石棉县| 巴林右旗| 周至县| 梨树县| 绍兴市| 客服| 晋宁县| 英吉沙县| 慈利县| 基隆市|