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

Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié)

 更新時間:2023年02月23日 16:56:04   作者:嵌入式視覺  
這篇文章主要為大家介紹了Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

numpy 堆疊數(shù)組

在做圖像和 nlp 的數(shù)組數(shù)據(jù)處理的時候,經(jīng)常需要實現(xiàn)兩個數(shù)組堆疊或者連接的功能,這就需用到 numpy 庫的一些函數(shù),numpy 庫中的常用堆疊數(shù)組函數(shù)如下:

  • stack : Join a sequence of arrays along a new axis.
  • hstack: Stack arrays in sequence horizontally (column wise).
  • vstack : Stack arrays in sequence vertically (row wise).
  • dstack : Stack arrays in sequence depth wise (along third axis).
  • concatenate : Join a sequence of arrays along an existing axis.

ravel() 函數(shù)

ravel() 方法可讓將多維數(shù)組展平成一維數(shù)組。如果不指定任何參數(shù),ravel() 將沿著行(第 0 維/軸)展平/拉平輸入數(shù)組。

示例代碼如下:

std_array = np.random.normal(3, 2.5, size=(2, 4))
array1d = std_array.ravel()
print(std_array)
print(array1d)

程序輸出結(jié)果如下:

[[5.68301857 2.09696067 2.20833423 2.83964393]
 [2.38957339 9.66254303 1.58419716 2.82531094]]
 
[5.68301857 2.09696067 2.20833423 2.83964393 2.38957339 9.66254303 1.58419716 2.82531094]

stack() 函數(shù)

stack() 函數(shù)原型是 stack(arrays, axis=0, out=None),功能是沿著給定軸連接數(shù)組序列,軸默認為第0維。

1,參數(shù)解析:

  • arrays: 類似數(shù)組(數(shù)組、列表)的序列,這里的每個數(shù)組必須有相同的shape。
  • axis: 默認為整形數(shù)據(jù),axis決定了沿著哪個維度stack輸入數(shù)組。

2,返回:

  • stacked : ndarray 類型。The stacked array has one more dimension than the input arrays.

實例如下:

import numpy as np
# 一維數(shù)組進行stack
a1 = np.array([1, 3, 4])    # shape (3,)
b1 = np.array([4, 6, 7])    # shape (3,)
c1 = np.stack((a,b))
print(c1)
print(c1.shape)    # (2,3)
# 二維數(shù)組進行堆疊
a2 = np.array([[1, 3, 5], [5, 6, 9]])    # shape (2,3)
b2 = np.array([[1, 3, 5], [5, 6, 9]])    # shape (2,3)
c2 = np.stack((a2, b2), axis=0)
print(c2)
print(c2.shape)

輸出為:

[[1 3 4] [4 6 7]]

(2, 3)

[[[1 3 5] [5 6 9]] [[1 3 5] [5 6 9]]] (2, 2, 3)

可以看到,進行 stack 的兩個數(shù)組必須有相同的形狀,同時,輸出的結(jié)果的維度是比輸入的數(shù)組都要多一維的。我們拿第一個例子來舉例,兩個含 3 個數(shù)的一維數(shù)組在第 0 維進行堆疊,其過程等價于先給兩個數(shù)組增加一個第0維,變?yōu)?*3的數(shù)組,再在第 0 維進行 concatenate() 操作:

a = np.array([1, 3, 4])
b = np.array([4, 6, 7])
a = a[np.newaxis,:]
b = b[np.newaxis,:]
np.concatenate([a,b],axis=0)

輸出為:

array([[1, 2, 3],       [2, 3, 4]])

vstack()函數(shù)

vstack函數(shù)原型是vstack(tup),功能是垂直的(按照行順序)堆疊序列中的數(shù)組。tup是數(shù)組序列(元組、列表、數(shù)組),數(shù)組必須在所有軸上具有相同的shape,除了第一個軸。1-D arrays must have the same length.

# 一維數(shù)組
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.vstack((a,b))

array([[1, 2, 3], [2, 3, 4]])

# 二維數(shù)組
a = np.array([[1], [2], [3]])
b = np.array([[2], [3], [4]])
np.vstack((a,b))

array([[1], [2], [3], [2], [3], [4]])

hstack()函數(shù)

hstack()的函數(shù)原型:hstack(tup) ,參數(shù)tup可以是元組,列表,或者numpy數(shù)組,返回結(jié)果為numpy的數(shù)組。它其實就是**水平(按列順序)**把數(shù)組給堆疊起來,與vstack()函數(shù)正好相反。舉幾個簡單的例子:

# 一維數(shù)組
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.hstack((a,b))

array([1, 2, 3, 2, 3, 4])

# 二維數(shù)組
a = np.array([[1], [2], [3]])
b = np.array([[2], [3], [4]])
np.hstack((a,b))

array([[1, 2], [2, 3], [3, 4]])

vstack()和hstack函數(shù)對比:

這里的v是vertically的縮寫,代表垂直(沿著行)堆疊數(shù)組,這里的h是horizontally的縮寫,代表水平(沿著列)堆疊數(shù)組。 tup是數(shù)組序列(元組、列表、數(shù)組),數(shù)組必須在所有軸上具有相同的shape,除了第一個軸。

concatenate() 函數(shù)

concatenate()函數(shù)功能齊全,理論上可以實現(xiàn)上面三個函數(shù)的功能,concatenate()函數(shù)根據(jù)指定的維度,對一個元組、列表中的list或者ndarray進行連接,函數(shù)原型:

numpy.concatenate((a1, a2, ...), axis=0)
a = np.array([[1, 2], [3,4]])               
b = np.array([[5, 6], [7, 8]])
# a、b的shape為(2,2),連接第一維就變成(4,2),連接第二維就變成(2,4)
np.concatenate((a, b), axis=0)

array([[1, 2], [3, 4], [5, 6], [7, 8]])

注意:axis指定的維度(即拼接的維度)可以是不同的,但是axis之外的維度(其他維度)的長度必須是相同的。注意 concatenate 函數(shù)使用最廣,必須在項目中熟練掌握。

參考資料 numpy中的hstack()、vstack()、stack()、concatenate()函數(shù)詳解

以上就是Python數(shù)據(jù)分析之堆疊數(shù)組函數(shù)示例總結(jié)的詳細內(nèi)容,更多關(guān)于Python堆疊數(shù)組函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python subprocess模塊詳細解讀

    Python subprocess模塊詳細解讀

    這篇文章主要介紹了Python subprocess模塊詳細解讀,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • pandas進階教程之Dataframe的apply方法

    pandas進階教程之Dataframe的apply方法

    DataFrame中的apply方法就是將函數(shù)應(yīng)用到由列或行形成的一維數(shù)組上,下面這篇文章主要給大家介紹了關(guān)于pandas進階教程之Dataframe的apply方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • python爬取晉江文學(xué)城小說評論(情緒分析)

    python爬取晉江文學(xué)城小說評論(情緒分析)

    這篇文章主要介紹了使用python爬取晉江文學(xué)城小說評論(情緒分析),全文代碼詳細,邏輯清晰,很適合學(xué)習(xí)爬蟲爬取的朋友,需要的朋友可以參考下
    2021-04-04
  • 解決python運行效率不高的問題

    解決python運行效率不高的問題

    在本篇文章中小編給大家分享了關(guān)于解決python運行效率不高的問題,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-07-07
  • Django uwsgi Nginx 的生產(chǎn)環(huán)境部署詳解

    Django uwsgi Nginx 的生產(chǎn)環(huán)境部署詳解

    這篇文章主要介紹了Django uwsgi Nginx 的生產(chǎn)環(huán)境部署詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Python3.7 新特性之dataclass裝飾器

    Python3.7 新特性之dataclass裝飾器

    Python 3.7中一個令人興奮的新特性是 data classes 。這篇文章主要介紹了Python3.7 新特性之dataclass裝飾器,需要的朋友可以參考下
    2019-05-05
  • python tornado獲取請求參數(shù)的方法

    python tornado獲取請求參數(shù)的方法

    在Tornado框架中,獲取請求參數(shù)包括查詢字符串參數(shù)、表單數(shù)據(jù)和JSON數(shù)據(jù)等,JSON數(shù)據(jù)通過直接訪問self.request.json獲取,正確處理這些數(shù)據(jù)需要注意請求的Content-Type和數(shù)據(jù)格式,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 利用setuptools打包python程序的方法步驟

    利用setuptools打包python程序的方法步驟

    這篇文章主要介紹了利用setuptools打包python程序的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • django重新生成數(shù)據(jù)庫中的某張表方法

    django重新生成數(shù)據(jù)庫中的某張表方法

    今天小編就為大家分享一篇django重新生成數(shù)據(jù)庫中的某張表方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 使用Python制作一個數(shù)據(jù)預(yù)處理小工具(多種操作一鍵完成)

    使用Python制作一個數(shù)據(jù)預(yù)處理小工具(多種操作一鍵完成)

    這篇文章主要介紹了使用Python制作一個數(shù)據(jù)預(yù)處理小工具(多種操作一鍵完成),本文通過圖文實例相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02

最新評論

化德县| 彭山县| 永平县| 东兰县| 香港 | 介休市| 新宁县| 平江县| 平江县| 西贡区| 台山市| 太湖县| 碌曲县| 怀来县| 茶陵县| 九江市| 平邑县| 民丰县| 手游| 微山县| 开阳县| 新河县| 深水埗区| 武夷山市| 滦南县| 元朗区| 文安县| 来宾市| 渭源县| 顺昌县| 云安县| 三原县| 怀集县| 六枝特区| 宿松县| 府谷县| 富民县| 靖江市| 湟源县| 东海县| 那坡县|