1. 程式人生 > >numpy中stack的用法直觀理解

numpy中stack的用法直觀理解

首先生成一些數,

import numpy as np
a = np.arange(1, 7).reshape((2, 3))
b = np.arange(7, 13).reshape((2, 3))
c = np.arange(13, 19).reshape((2, 3))

print('a = \n', a)
print('b = \n', b)
print('c = \n', c)
即下面的形式


下面分別以不同的形式輸出:

1、vstack

s = np.vstack((a, b, c))
print('vstack \n ', s.shape, '\n', s)
在豎直方向上進行堆疊,得到6×3的矩陣

                                   


2、hstack

s = np.hstack((a, b, c))
print('hstack \n ', s.shape, '\n', s)
在水平方向上進行堆疊

                       

3、axis=0

s = np.stack((a, b, c), axis=0)
print('axis = 0 \n ', s.shape, '\n', s)

就是下面的形式

                                                               

具體為3組2×3矩陣

             

4、axis=1

s = 
np.stack((a, b, c), axis=1) print('axis = 1 \n ', s.shape, '\n', s)

即將每個矩陣的每一行進行堆疊,放在一個矩陣裡(一行對應一個矩陣)就是下圖的紅色的放一起,綠色的放一起


5、axis=2

s = np.stack((a, b, c), axis=2)
print('axis = 2 \n ', s.shape, '\n', s)
即將每行的進行豎排,放在一個矩陣裡(一行對應一個矩陣)


因為對於stack用法容易忘記,查閱官方文件理解又比較繁瑣,故做此一目瞭然

相關推薦

numpystack用法直觀理解

首先生成一些數, import numpy as np a = np.arange(1, 7).reshape((2, 3)) b = np.arange(7, 13).reshape((2, 3)

【python】Numpystack(),hstack(),vstack()函數詳解

一起 int pan 控制 意思 name 體會 你們 如何 轉自 https://blog.csdn.net/csdn15698845876/article/details/73380803 這三個函數有些相似性,都是堆疊數組,裏面最難理解的應該就是stack()函數了,

numpy的convolve的理解

sdn ray valid log 文章 copy py函數 五個 ali https://blog.csdn.net/u011599639/article/details/76254442 函數numpy.convolve(a, v, mode=‘full’),這是num

NumpyArray用法總結

Numpy中array(陣列) Numpy主要物件是齊次多維陣列,由正整數元組索引,Numpy中維度稱為軸(axis),陣列的維數稱為秩(rank)。 可以參考:Numpy快速入門 1.1 建立陣列 常規方法建立陣列 import numpy as np #一維陣列

Numpystack(),hstack(),vstack() ---------函式

這三個函式有些相似性,都是堆疊陣列,裡面最難理解的應該就是stack()函數了,我查閱了numpy的官方文件,在網上又看了幾個大牛的部落格,發現他們也只是把numpy文件的內容照搬,看完後還是不能理解,最後經過本人程式碼分析,算是理解了stack()函式增加維度的含義。以下內容我會用通俗易懂的語言解

numpy維度的正確理解姿勢

作者:千千Sama 原文地址:https://blog.csdn.net/lllxxq141592654/article/details/83011056 文章目錄 前言

numpyaxis的一些理解

在numpy中,.sum(axis=n)解釋: 如果,b是一個shap(5, 6, 7, 8)的numpy array,  然後,c = b.sum(axis=2) 那麼,c的shape將是(5, 6, 8) ,因為“7”就是axis=2,被清除了。 而且,c[x, y,

STLstack用法

stack的插入好說,主要是取出元素時,可以用stack.top()來賦值,然後用stack.pop()來刪除棧頂元素。 // stack::empty #include <iostream

numpylinspace用法

linspace的功能最初是從MATLAB中學來的,用此來建立等差數列。近期用Python的時候發現也有這個功能,提供相應功能的是numpy。關於MATLAB中的功能就不再進行贅述了,接下來把我可能用

numpystack函式

numpy中的stack函式比較的繞,具體實現如下:----------------------------------------------------import numpy as npa=[1,2,3]b=[4,5,6]default_ab=np.stack((a,b

pandasstack,unstack和numpystack,hstack,vstack通俗理解

在網上看上很多關於numpy中stack的複雜解釋,其實他的實際含義和用法很簡單,被人理解複雜了,當然,我們先看pandas中的stack,unstack的用法: 1,在我們常見的資料層次化結構分為兩種,一種是花括號(一維資料),一種是表格(二維度資料),這個參考瞭如下網址https://w

numpy一些常用函數的用法總結

num matrix 空白 記錄 維數 補充 結果 創建 array 先簡單記錄一下,後續補充詳細的例子 1. strip()函數 s.strip(rm):s為字符串,rm為要刪除的字符序列 只能刪除開頭或是結尾的字符或者字符串。不能刪除中間的字符或是字符串 當rm為空

Numpy學習--多維矩陣“理解 : 的用法

rac 切片 utf exp AR sum() 元素操作 square max :(冒號)在多維數組選快兒時經常會用到,今天特此做下筆記。 #############創建numpy數組 #1111111定義普通數組 #先直接定義是一個list list1 = [[2,3

numpynewaxis的用法

newaxis顧名思義就是插入新維度的意思,比如原來是一維數劇變成二維數劇,原來是二維變成三維, python將二維陣列變為三維陣列的舉例如下: x_data = np.linspace(-1,1,6) a=x_data.reshape((2,3)) c = a[:,np.newaxis,:

numpyflatten()函式用法

flatten是numpy.ndarray.flatten的一個函式,其官方文件是這樣描述的: ndarray.flatten(order='C') Return a copy of the array collapsed into one dimension. Parameters:

numpy:tile函式用法

tile函式位於python模組 numpy.lib.shape_base中,他的功能是重複某個陣列。比如tile(A,n),功能是將陣列A重複n次,構成一個新的陣列,我們還是使用具體的例子來說明問題 ①先來引入numpy下的所有方法 from numpy import *

Python雜談 | (四)NumPynp.c_和np.r_的用法

目錄 一、np.c_ 二、np.r_ 一、np.c_ np.c_[a,b,c...]可以拼接多個數組,要求待拼接的多個數組的行數必須相同: arr1=np.array([1,2,3]) print(arr1.shape) #(3,)代表arr1是一個包含3個元素的一維陣列

Python擴充套件庫numpywhere()函式的三種用法 Python擴充套件庫numpywhere()函式的三種用法

原 Python擴充套件庫numpy中where()函式的三種用法 2018年06月25日 07:43:56 Python_小屋 閱讀數:1000

zcmu-4930: 堆疊的使用(stlstack的基本用法

  4930: 堆疊的使用 Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 63  Solved: 27 [Submit][Status][

如何快速理解numpy的axis

numpy中的axis的設定引數與陣列的shape有關 例如一個shape(3,2,4)的陣列,代表一個三維陣列,要注意的是這裡的維度與物理學的維度的理解是不太一樣的 axis = 0時,就相當於所求的陣列的結果變成shape(2,4) axis = 1時,陣列的結果shape(3,4)