一、概述
numpy.vstack是一個非常有用的函數,它能夠將不同的數組按照垂直方向(行)進行堆疊,形成一個新的數組。在數據分析和機器學習中,我們通常需要將多個數據集進行整合,numpy.vstack就是一個非常好的選擇。 下面我們將通過幾個方面來詳細闡述numpy.vstack函數的使用方法。
二、基本用法
numpy.vstack最基本的用法就是將多個數組按照行的方向進行拼接,這個應該是大家最為熟悉的。下面是一段示例代碼:
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.vstack((a, b)) print(c)
輸出結果為:
[[1 2] [3 4] [5 6] [7 8]]
這個例子中,我們首先定義了兩個二維數組a和b,然後調用numpy.vstack函數將它們進行拼接,得到了一個新的數組c。可以看出,新的數組c中,一共有4行2列,正是我們期待的結果。
三、應用示例
1. 將兩個一維數組進行拼接
numpy.vstack函數不僅可以拼接二維數組,還可以拼接一維數組,下面是一個例子:
import numpy as np a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) c = np.vstack((a, b)) print(c)
輸出結果為:
[[1 2 3] [4 5 6]]
可以看到,我們將兩個一維數組a和b進行拼接,得到了一個新的二維數組c,它的行數為2,列數為3。
2. 將具有相同列數的數組進行拼接
有時候,我們需要將多個具有相同列數的數組進行拼接,這個時候,可以先將這些數組合併成一個列表,然後再調用numpy.vstack函數進行拼接。
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) c = np.array([[9, 10], [11, 12]]) arr_list = [a, b, c] d = np.vstack(arr_list) print(d)
輸出結果為:
[[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12]]
可以看到,我們首先將a、b、c三個數組合併成一個列表,然後將該列表作為參數傳遞給numpy.vstack函數,得到了一個新的數組d,它的行數為6,列數為2。
3. 將具有不同列數的數組進行拼接
如果要將具有不同列數的數組進行拼接,我們可以使用numpy.hstack函數先將列數進行擴展,然後再進行拼接。
import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5], [7]]) c = np.hstack((a, b)) print(c)
輸出結果為:
[[1 2 5] [3 4 7]]
可以看到,我們首先將b這個數組的列數進行擴展,然後再將a和擴展後的b進行拼接,得到了一個新的數組c。
四、總結
numpy.vstack是一個非常有用的函數,它能夠將不同的數組進行拼接,特別是在數據分析和機器學習中,我們經常需要將多個數據集進行整合,numpy.vstack就是一個非常好的選擇。在使用numpy.vstack函數時,需要根據具體的情況進行設置,比如要拼接的數組的形狀、列數等等。通過本文的學習,相信大家已經對numpy.vstack函數有了更深入的了解。
原創文章,作者:YNAX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133168.html