1. 程式人生 > >Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate()使用方法

Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate()使用方法

Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate()

覺得有用的話,歡迎一起討論相互學習~Follow Me

轉載連結

numpy.stack()函式

  • 函式原型:numpy.stack(arrays, axis=0)

程式例項:

>>> arrays = [np.random.randn(3, 4) for _ in range(10)]
>>> np.stack(arrays, axis=0).shape
(10, 3, 4)

>>>

>>
> np.stack(arrays, axis=1).shape (3, 10, 4) >>> >>> np.stack(arrays, axis=2).shape (3, 4, 10) >>> >>> a = np.array([1, 2, 3]) >>> b = np.array([2, 3, 4]) >>> np.stack((a, b)) array([[1, 2, 3], [2, 3, 4]]) >>> >>> np.
stack((a, b), axis=-1) array([[1, 2], [2, 3], [3, 4]])

numpy.hstack()函式

  • 函式原型:numpy.hstack(tup)

  • 其中tup是arrays序列,The arrays must have the same shape, except in the dimensioncorresponding to axis (the first, by default).

  • 等價於:np.concatenate(tup, axis=1)

程式例項:

>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.hstack((a,b))
array([1, 2, 3, 2, 3, 4])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
       [2, 3],
       [3, 4]])

numpy.vstack()函式

  • 函式原型:numpy.vstack(tup)

  • 等價於:np.concatenate(tup, axis=0) if tup contains arrays thatare at least 2-dimensional.

程式例項:

>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.vstack((a,b))
array([[1, 2, 3],
       [2, 3, 4]])

>>>

>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[2], [3], [4]])
>>> np.vstack((a,b))
array([[1],
       [2],
       [3],
       [2],
       [3],
       [4]])

numpy.dstack()函式

  • 函式原型:numpy.dstack(tup)

  • 等價於:np.concatenate(tup, axis=2)

程式例項:

>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.dstack((a,b))
array([[[1, 2],
        [2, 3],
        [3, 4]]])

>>>

>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.dstack((a,b))
array([[[1, 2]],
       [[2, 3]],
       [[3, 4]]])

numpy.concatenate()函式

  • 函式原型:numpy.concatenate((a1, a2, …), axis=0)

程式例項:

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

This function will not preserve masking of MaskedArray inputs.
>>>

>>> a = np.ma.arange(3)
>>> a[1] = np.ma.masked
>>> b = np.arange(2, 5)
>>> a
masked_array(data = [0 -- 2],
             mask = [False  True False],
       fill_value = 999999)
>>> b
array([2, 3, 4])
>>> np.concatenate([a, b])
masked_array(data = [0 1 2 2 3 4],
             mask = False,
       fill_value = 999999)
>>> np.ma.concatenate([a, b])
masked_array(data = [0 -- 2 2 3 4],
             mask = [False  True False False False False],
       fill_value = 999999)

numpy.vsplit()函式

  • 函式原型:numpy.vsplit(ary, indices_or_sections)

程式例項:

>>> x = np.arange(16.0).reshape(4, 4)
>>> x
array([[  0.,   1.,   2.,   3.],
       [  4.,   5.,   6.,   7.],
       [  8.,   9.,  10.,  11.],
       [ 12.,  13.,  14.,  15.]])
>>> np.vsplit(x, 2)
[array([[ 0.,  1.,  2.,  3.],
       [ 4.,  5.,  6.,  7.]]),
 array([[  8.,   9.,  10.,  11.],
       [ 12.,  13.,  14.,  15.]])]
>>> np.vsplit(x, np.array([3, 6]))
[array([[  0.,   1.,   2.,   3.],
       [  4.,   5.,   6.,   7.],
       [  8.,   9.,  10.,  11.]]),
 array([[ 12.,  13.,  14.,  15.]]),
 array([], dtype=float64)]

With a higher dimensional array the split is still along the first axis.
>>>

>>> x = np.arange(8.0).reshape(2, 2, 2)
>>> x
array([[[ 0.,  1.],
        [ 2.,  3.]],
       [[ 4.,  5.],
        [ 6.,  7.]]])
>>> np.vsplit(x, 2)
[array([[[ 0.,  1.],
        [ 2.,  3.]]]),
 array([[[ 4.,  5.],
        [ 6.,  7.]]])]

相關推薦

Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate()

感覺numpy.hstack()和numpy.column_stack()函式略有相似,numpy.vstack()與numpy.row_stack()函式也是挺像的。 給一個相關函式的列表: stack()    Join a sequence of arrays

Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate()使用方法

Python numpy函式hstack() vstack() stack() dstack() vsplit() concatenate() 覺得有用的話,歡迎一起討論相互學習~Follow Me 轉載連結 numpy.stack()函式 函式原型:nu

Python numpy函式cov()、linspace()、mgrid()、dstack()、concatenate()用法

import numpy as np 做機器學習專案時候可能會用到這幾個函式,現在記錄下來,以下均舉例說明。 一、np.cov >>> cov = np.cov(X.T) # 等價於以下操作 >>> cov1 = np.do

Python numpy函式:zeros()、ones()、empty()

轉自:https://blog.csdn.net/qq_28618765/article/details/78085457 在給陣列賦初始值的時候,經常會用到0陣列,而Python中,我們使用zero()函式來實現。 ones函式可以建立任意維度和元素個數的陣列,其元素值均為1; empty

python :numpy函式

一、陣列相關的其他函式 1、求階乘 語法:np. prod() #隨機建立一個數組 arr = np.array(np.arange(1,6)) #計算陣列的階乘 np.prod(arr) 2.計算陣列元素的累積乘積 語法:np. cumprod() np.cump

Python numpy函式:arange()

arange()函式用於建立等差陣列,使用頻率很高。arange函式和range函式很像,兩個的區別是arange函式返回的是一個數據,而range函式返回的是list。另外,在使用arange前,需要先引入numpy,而range不用。其他,兩者都差不多 我們對比著ran

numpy基礎屬性方法隨機整理(四)---陣列組合和分割 vstack /hstack / row_stack / column_stack / dstack /v[sd]split

陣列組合型別: 1. 垂直組合  np.vstack((up,down)) up, down 表示資料在上還是在下,類似於堆疊  2. 水平組合  np.hstack((left, right)) left right 表示資料在左還是在右  3. 行組合(物件:一維陣列)

Python Numpy模組函式np.c_和np.r_

    np.r_:是按列連線兩個矩陣,就是把兩矩陣上下相加,要求列數相等,類似於pandas中的concat()。     np.c_:是按行連線兩個矩陣,就是把兩矩陣左右相加,要求行數相等,類似於pandas中的merge()。      import numpy as np a

python: numpy -- zeros,ones,eye函式

  zeros():可以用來構造全0陣列 如果是一維的,則需要一個括號,裡面的數字代表陣列的長度,如zeros(3)表示建立1行3列全為0的陣列 如果是多維的,則要有兩個括號,裡面的維度用tuple來表示,如zeros((3,3))表示建立3行3列全為0的陣列 &

python numpy--矩陣的通用函式

一、概念 通用函式(ufunc)是一種對ndarray中的資料執行元素級運算的函式。你可以將其看作簡單函式(接受一個或多個標量值,併產生一個或多個標量值)的向量化包裝器通用函式的輸入是一組標量,輸出也是一組標量,它們通常可以對應於基本數學運算,如加、減、乘、除等。 二、分類 1.

python numpy--專用函式

一、排序函式 1、ndarray類的sort方法——可對陣列進行原地排序; import numpy as np # 準備一個矩陣 a = np.mat('3 1 2; 0 5 4; 7 3 6') a matrix([[3, 1, 2], [0, 5, 4]

【機器學習演算法實現】logistic迴歸 基於PythonNumpy函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【機器學習演算法實現】kNN演算法 手寫識別——基於PythonNumPy函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

python numpy.power()函式的用法

numpy.power()用於陣列元素求n次方 numpy.power(x1, x2) :x2可以是數字,也可以是陣列,但是x1和x2的列數要相同 import numpy as np x1 = range(7) x1 Out[1]: range(0, 7) np.power(x1,2

關於Numpy中transpose()和stack()函式的解析!(Numpy.transpose()和Numpy.stack())

最近在看斯坦福大學的cs231n機器學習課程,第一節的assignment1裡的KNN線性分類器中用到了這兩個函式,由於我是新手,就看不懂這兩個函式坐了什麼,其實結合那個例程,這個函式當時會覺得好像明白了它的意思,但是後來在CSDN上看了一個講stack()函式的部落格,徹底

Python Numpy 100題實驗(二) pad()函式應用

題目描述:使用數字0將一個全為1的陣列包圍起來: 程式碼: In [74]: a = np.ones((5,5)) In [75]: a Out[75]: array([[1., 1., 1., 1., 1.], [1., 1., 1., 1.,

Python Numpy 100題實驗(三)diag()函式

建立5*5的陣列,並設定1,2,3,4在對角線的下方: 使用numpy.diag()可以很方便的求出這個陣列 函式結構 diag(v, k=0) 引數說明 v 傳入一個數組,如果是一維陣列,那麼就會以這個陣列為對角線元素建立一個對角矩陣,如果傳入的陣列多於一維

Python Numpy 100題實驗(五)uniform(),bincount()函式

本篇的主要內容有: numpy.random.uniform() numpy.bincount() numpy.nonzero() numpy.random.choice() numpy.put() 給定一個一位隨機陣列,找出離0.5最近的數字 距離最近的點

Python Numpy 100題實驗(六)mean(),set_printoptions()函式

這一部分的主要內容: numpy.mean() 排序的一些例子 numpy.set_printoptions() 對於隨機的3*3的二維陣列,減去陣列的每一行的平均值 a = np.random.randint(1, 10, (3,3)) print('Ar

機器學習篇:PythonNumPy函式庫基礎

NumPy函式庫基礎 (參考自《機器學習實戰》) 先開啟Pyhton >>> from numpy import * 引入NumPy函式庫所有模組 >>> random.rand(4,4) 隨機建立4x4矩陣 >>