摘要:寫在前面可能你會(huì)不相信,我是從玩中過(guò)來(lái)的,我覺(jué)得有必要記錄一下,這個(gè)坑還非踩不可為了說(shuō)的清楚一點(diǎn)兒,我多鋪墊一點(diǎn)兒,先說(shuō)說(shuō)數(shù)組維度的理解引子老鐵們猜一猜長(zhǎng)啥樣我猜你還沒(méi)到點(diǎn)我到底想說(shuō)啥,還是一頭霧水,對(duì)吧哈哈別揍我,關(guān)子賣的挺大,我到底想說(shuō)
寫在前面
可能你會(huì)不相信,我是從玩pytorch中過(guò)來(lái)的,我覺(jué)得有必要記錄一下,transpose這個(gè)坑還非踩不可,為了說(shuō)的清楚一點(diǎn)兒,我多鋪墊一點(diǎn)兒,先說(shuō)說(shuō)numpy數(shù)組維度的理解
引子>>> a = np.arange(start=0, stop=24) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]) >>> a = a.reshape(4, 3, 2) >>> # 老鐵們猜一猜長(zhǎng)啥樣 >>> a array([[[ 0, 1], [ 2, 3], [ 4, 5]], [[ 6, 7], [ 8, 9], [10, 11]], [[12, 13], [14, 15], [16, 17]], [[18, 19], [20, 21], [22, 23]]]) >>> # 我猜你還沒(méi)get到點(diǎn) >>> a.shape (4, 3, 2) >>> # 我到底想說(shuō)啥,還是一頭霧水,對(duì)吧??哈哈
別揍我,關(guān)子賣的挺大,我到底想說(shuō)啥呢??
可能多用來(lái)處理圖片的緣故,咱們多用二維數(shù)組,二維數(shù)組array.shape返回的元組,[0]是有幾行的意思(也就是數(shù)組所謂的寬),[1]是有幾列的意思(也就是數(shù)組所謂的長(zhǎng))
而上面引例中,你可以把它理解為四通道的圖片,而每一通道可以多帶帶視作一張灰度圖, 這樣說(shuō)應(yīng)該沒(méi)問(wèn)題吧?(希望大家能理解),所以按照咱們之前在二維圖片的理解,a.shape返回的元組應(yīng)該有[0]是圖片的寬(有幾行),[1]是圖片的長(zhǎng)(有幾列),[2]是圖片的通道數(shù)
所以a.shape應(yīng)該為:(3, 2, 4)即三行兩列四通道
然而實(shí)際上,a.shape返回的元組是(4, 3, 2),該怎么理解呢??
我這里提出一種解釋(只方便理解,也不知道對(duì)不對(duì)哈)
咱們初次看三維數(shù)組a
扒開它的第一層皮,看到了四個(gè)二維數(shù)組:
[[ 0, 1], [ 2, 3], [ 4, 5]], [[ 6, 7], [ 8, 9], [10, 11]], [[12, 13], [14, 15], [16, 17]], [[18, 19], [20, 21], [22, 23]]
而你看到的4個(gè)二維數(shù)組所在的維度就是三維數(shù)組中所謂的第一維即shape[0]
取這4個(gè)二維數(shù)組中的第一個(gè)
把它的皮剝掉
[ 0, 1], [ 2, 3], [ 4, 5]
沒(méi)錯(cuò),我想說(shuō)的就是,這3個(gè)一維數(shù)組所在的維度就是三維數(shù)組中所謂的第二維即shape[1]
咱有始有終,取這3個(gè)一維數(shù)組中的第一個(gè)
把它的皮剝掉,
0, 1
只剩下兩個(gè)常數(shù),嗯嗯,這倆常數(shù)就是三維數(shù)組中所謂的第三維即shape[2]
看見高維度數(shù)組,不要慌,從外向里依次"剝皮",就分別是數(shù)組的第1, 2, 3......維度
下一篇博客寫transpose函數(shù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/45251.html
摘要:本章學(xué)習(xí)兩個(gè)科學(xué)運(yùn)算當(dāng)中最為重要的兩個(gè)模塊,一個(gè)是一個(gè)是。這種工具可用來(lái)存儲(chǔ)和處理大型矩陣,比自身的嵌套列表結(jié)構(gòu)要高效的多該結(jié)構(gòu)也可以用來(lái)表示矩陣。專為進(jìn)行嚴(yán)格的數(shù)字處理而產(chǎn)生??梢酝ㄟ^(guò)函數(shù)對(duì)相應(yīng)值進(jìn)行打印檢驗(yàn)。 本章學(xué)習(xí)兩個(gè)科學(xué)運(yùn)算當(dāng)中最為重要的兩個(gè)模塊,一個(gè)是 numpy,一個(gè)是 pandas。任何關(guān)于數(shù)據(jù)分析的模塊都少不了它們兩個(gè)。 一、numpy & pandas特點(diǎn) NumP...
摘要:前言以下簡(jiǎn)稱是數(shù)據(jù)分析必不可少的第三方庫(kù),的出現(xiàn)一定程度上解決了運(yùn)算性能不佳的問(wèn)題,同時(shí)提供了更加精確的數(shù)據(jù)類型。因此,理解的數(shù)據(jù)類型對(duì)數(shù)據(jù)分析十分有幫助。一維數(shù)據(jù)由對(duì)等關(guān)系的有序或無(wú)序數(shù)據(jù)構(gòu)成,采用線性方式組織,可以用數(shù)組表示。 前言 NUMPY(以下簡(jiǎn)稱NP)是Python數(shù)據(jù)分析必不可少的第三方庫(kù),np的出現(xiàn)一定程度上解決了Python運(yùn)算性能不佳的問(wèn)題,同時(shí)提供了更加精確的數(shù)據(jù)...
摘要:概述在中存在著通用函數(shù)和聚合去對(duì)數(shù)據(jù)進(jìn)行處理通過(guò)向量進(jìn)行對(duì)數(shù)據(jù)數(shù)組的計(jì)算而這些向量主要依靠一些通用函數(shù)而聚合是對(duì)面對(duì)大量數(shù)據(jù)時(shí)獲取描述性統(tǒng)計(jì)信息的方法。三角函數(shù)提供了大量好用的通用函數(shù),其中對(duì)于數(shù)據(jù)科學(xué)家最有用的就是三角函數(shù)。 showImg(https://segmentfault.com/img/remote/1460000018925263); 概述 在Numpy中存在著通用函數(shù)...
摘要:提供了使我們能夠快速便捷地處理結(jié)構(gòu)化數(shù)據(jù)的大量數(shù)據(jù)結(jié)構(gòu)和函數(shù)。結(jié)構(gòu)化數(shù)據(jù),例如多維數(shù)據(jù)矩陣表格行數(shù)據(jù),其中各列可能是不同的類型字符串?dāng)?shù)值日期等?;A(chǔ)數(shù)組和矢量計(jì)算高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。 本篇內(nèi)容為整理《利用Python進(jìn)行數(shù)據(jù)分析》,博主使用代碼為 Python3,部分內(nèi)容和書本有出入。 利用 Python 進(jìn)行科學(xué)計(jì)算的實(shí)用指南。本書重點(diǎn)介紹了用于高效解決各種數(shù)據(jù)分析問(wèn)...
摘要:注意和標(biāo)準(zhǔn)庫(kù)類并不相同,后者只處理一維數(shù)組和提供少量功能。然而,指定參數(shù)你可以吧運(yùn)算應(yīng)用到數(shù)組指定的軸上通用函數(shù)提供常見的數(shù)學(xué)函數(shù)如和。在中,這些叫作通用函數(shù)。函數(shù),另一方面,將一維數(shù)組以行組合成二維數(shù)組。 原文:Quickstart tutorial 譯者:Reverland 來(lái)源:試驗(yàn)性NumPy教程(譯) 2.1 先決條件 在閱讀這個(gè)教程之前,你多少需要知道點(diǎn)python。如...
閱讀 3265·2023-04-26 01:31
閱讀 1904·2023-04-25 22:08
閱讀 3456·2021-09-01 11:42
閱讀 2833·2019-08-30 12:58
閱讀 2176·2019-08-29 18:31
閱讀 2440·2019-08-29 17:18
閱讀 3071·2019-08-29 13:01
閱讀 2559·2019-08-28 18:22