Numpy合併的用法

Numpy是Python中一個重要的科學計算庫,該庫包含了高性能的多維數組和矩陣計算的函數。其中,合併兩個或多個數組是數組操作中最常見的操作之一。本文將介紹了多個方面的numpy合併的用法。

一、vstack和hstack

vstack可以將數組堆疊在垂直方向上,即沿着第一個軸添加元素,而hstack可以將數組堆疊在水平方向上,即沿着第二個軸添加元素。

import numpy as np

a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.vstack((a,b))
print(c)

d = np.hstack((a,b))
print(d)

輸出:

[[1 2 3]
 [4 5 6]]
[1 2 3 4 5 6]

在這個例子中,我們定義了兩個一維數組a和b。我們使用了vstack將它們沿着垂直方向堆疊,並使用hstack將它們沿着水平方向堆疊。

二、concatenate

concatenate函數可以沿着任意軸連接兩個或多個數組。

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6]])
c = np.concatenate((a, b), axis=0)
d = np.concatenate((a,b.T), axis=1)
print(c)
print(d)

輸出:

[[1 2]
 [3 4]
 [5 6]]
[[1 2 5]
 [3 4 6]]

在這個例子中,我們定義了兩個二維數組a和b。我們使用了concatenate將它們沿着軸0(行)連接,輸出的形狀為(3,2)。 接着,我們使用concatenate沿着軸1(列)連接,輸出的形狀為(2,3)。

三、stack

stack函數可以沿着新軸連接兩個或多個數組,新軸的位置由參數axis指定。

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.stack((a, b), axis=0)
d = np.stack((a, b), axis=1)
e = np.stack((a, b), axis=2)
print(c)
print(d)
print(e)

輸出:

[[[1 2]
  [3 4]]

 [[5 6]
  [7 8]]]
[[[1 2]
  [5 6]]

 [[3 4]
  [7 8]]]
[[[1 5]
  [2 6]]

 [[3 7]
  [4 8]]]

在這個例子中,我們定義了兩個二維數組a和b。我們使用了stack沿着新軸(axis=0,1,2)連接。 以axis=0為例,數組a和b將被沿着新的第一軸連接,因此輸出的形狀將為(2,2,2)。所有三種用法的輸出結果都基於相同的概念,但數組的形狀可能會有所不同。

四、tile

tile函數可以將一個數組重複指定的次數,這對於擴展數組是非常有用的。

import numpy as np

a = np.array([1, 2, 3])
b = np.tile(a, 2)
c = np.tile(a, (2, 2))
print(b)
print(c)

輸出:

[1 2 3 1 2 3]
[[1 2 3 1 2 3]
 [1 2 3 1 2 3]]

在這個例子中,我們使用tile函數將數組a重複兩次,然後輸出該數組。 然後,我們使用tile函數將數組a沿着兩個軸重複2次,輸出該數組。

五、repeat

repeat函數可以將數組沿着指定的軸重複指定的次數。類似於tile,但是該函數按照元素重複,而不是整個數組重複。

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.repeat(a, 2)
c = np.repeat(a, 2, axis=0)
d = np.repeat(a, 2, axis=1)
print(b)
print(c)
print(d)

輸出:

[1 1 2 2 3 3 4 4]
[[1 2]
 [1 2]
 [3 4]
 [3 4]]
[[1 1 2 2]
 [1 1 2 2]
 [3 3 4 4]
 [3 3 4 4]]

在這個例子中,我們定義了一個二維數組a。我們使用了repeat函數沿着軸0(行)重複兩次,並且按照元素的順序重複輸出的一維數組。 接着,我們使用repeat函數沿着軸0(行)重複兩次,形狀變成了(4,2) , 接着,我們使用repeat函數沿着軸1(列)重複兩次,形狀變成了(2,4)

六、Conclusion

在numpy中,我們有很多合併數組的函數,包括vstack,hstack,concatenate,stack,tile和repeat。每個函數都有自己的特殊用途和用法,您可以根據需要選擇最合適的方法將數組合併。

原創文章,作者:UKAGW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/351704.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
UKAGW的頭像UKAGW
上一篇 2025-02-17 17:02
下一篇 2025-02-17 17:02

相關推薦

  • Python矩陣轉置函數Numpy

    本文將介紹如何使用Python中的Numpy庫實現矩陣轉置。 一、Numpy庫簡介 在介紹矩陣轉置之前,我們需要了解一下Numpy庫。Numpy是Python語言的計算科學領域的基…

    編程 2025-04-28
  • Python列錶轉numpy數組

    本文將闡述Python中列表如何轉換成numpy數組。在科學計算和數據分析領域中,numpy數組扮演着重要的角色。Python與numpy的無縫結合使得數據操作更加方便和高效。因此…

    編程 2025-04-27
  • Python三大:NumPy、Pandas、matplotlib

    本文將詳細介紹三大Python數據處理及可視化庫——NumPy、Pandas以及matplotlib,為讀者提供從基礎使用到應用場景的全面掌握。 一、NumPy NumPy是Pyt…

    編程 2025-04-27
  • numpy中np.sort函數返回索引的使用方法

    本文將會提供關於使用numpy中np.sort函數返回索引的詳細解釋和使用方法 一、np.sort函數返回索引的基本語法 numpy中的np.sort函數可以將數組按照從小到大的順…

    編程 2025-04-25
  • NumPy的delete函數詳解

    一、delete函數簡介 NumPy是Python中常用的科學計算庫,它提供了許多方便的函數和工具來處理數值數據。其中,delete函數是一個用於刪除數組中某些元素的函數。其函數原…

    編程 2025-04-24
  • numpy ravel函數

    一、ravel函數的簡介 在NumPy中,ravel函數的作用是將一個多維數組壓縮成一維數組。這個函數返回一個扁平化之後的一維數組,這個數組會參考原始數組的內存結構,所以它會返回一…

    編程 2025-04-24
  • numpy dot詳解

    一、dot的介紹 numpy中的dot函數是矩陣的乘法運算符,也可以描述為矩陣的點積運算。它的作用是將兩個數組中的對應元素相乘,然後將結果相加。在機器學習和深度學習中,矩陣運算通常…

    編程 2025-04-23
  • 詳解numpy zeros

    一、創建數組 使用numpy庫中的zeros函數能夠創建指定維度的零數組,函數用法如下: numpy.zeros(shape, dtype=float, order=’C’) 其中…

    編程 2025-04-23
  • numpy中文手冊詳解

    一、介紹numpy numpy是一個Python第三方庫,提供了數組和矩陣運算的高效操作方法以及各種數學函數的實現,同時numpy也是進行數據分析及科學計算的基礎包之一。 引入nu…

    編程 2025-04-23
  • 深入了解numpy.datetime64

    一、numpy.datetime64簡介 NumPy是一個功能強大的Python庫,提供了大量的數學和科學計算功能,其中numpy.datetime64是其提供的日期和時間處理類之…

    編程 2025-04-22

發表回復

登錄後才能評論