python基礎(chǔ)之numpy.reshape詳解

這個(gè)方法是在不改變數(shù)據(jù)內(nèi)容的情況下,改變一個(gè)數(shù)組的格式,參數(shù)及返回值,官網(wǎng)介紹:

a:數(shù)組--需要處理的數(shù)據(jù)

newshape:新的格式--整數(shù)或整數(shù)數(shù)組,如(2,3)表示2行3列,新的形狀應(yīng)該與原來的形狀兼容,即行數(shù)和列數(shù)相乘后等于a中元素的數(shù)量

order:

?首先做出翻譯:order?: 可選范圍為{‘C’, ‘F’, ‘A’}。使用索引順序讀取a的元素,并按照索引順序?qū)⒃胤诺阶儞Q后的的數(shù)組中。如果不進(jìn)行order參數(shù)的設(shè)置,默認(rèn)參數(shù)為C。

(1)“C”指的是用類C寫的讀/索引順序的元素,最后一個(gè)維度變化最快,第一個(gè)維度變化最慢。以二維數(shù)組為例,簡單來講就是橫著讀,橫著寫,優(yōu)先讀/寫一行。

(2)“F”是指用FORTRAN類索引順序讀/寫元素,最后一個(gè)維度變化最慢,第一個(gè)維度變化最快。豎著讀,豎著寫,優(yōu)先讀/寫一列。注意,“C”和“F”選項(xiàng)不考慮底層數(shù)組的內(nèi)存布局,只引用索引的順序。

(3)“A”選項(xiàng)所生成的數(shù)組的效果與原數(shù)組a的數(shù)據(jù)存儲(chǔ)方式有關(guān),如果數(shù)據(jù)是按照FORTRAN存儲(chǔ)的話,它的生成效果與”F“相同,否則與“C”相同。這里可能聽起來有點(diǎn)模糊,下面會(huì)給出示例。

二、示例解釋

1、首先隨機(jī)生成一個(gè)4行3列的數(shù)組



2、使用reshape,這里有兩種使用方法,可以使用np.reshape(r,(-1,1),order='F'),也可以使用r1=r.reshape((-1,1),order='F'),這里我選擇使用第二種方法。通過示例可以觀察不同的order參數(shù)效果。


通過例子可以看出來,F(xiàn)是優(yōu)先對(duì)列信息進(jìn)行操作,而C是優(yōu)先行信息操作。如果未對(duì)r的格式進(jìn)行設(shè)置,那么我們r(jià)ashape的時(shí)候以“A”的順序進(jìn)行order的話,它的效果和“C”相同。

3、我們將r的存儲(chǔ)方式進(jìn)行修改,修改為類Fortan的方式進(jìn)行存儲(chǔ)。并做與第2步類似的操作。


基礎(chǔ)操作樣例:

1.引入numpy,名稱為np?


2.接下來創(chuàng)建一個(gè)數(shù)組a,可以看到這是一個(gè)一維的數(shù)組?


3.使用reshape()方法來更改數(shù)組的形狀,可以看到看數(shù)組d成為了一個(gè)二維數(shù)組


4.通過reshape生成的新數(shù)組和原始數(shù)組公用一個(gè)內(nèi)存,也就是說,假如更改一個(gè)數(shù)組的元素,另一個(gè)數(shù)組也將發(fā)生改變?


5.同理還可以得到一個(gè)三維數(shù)組?


reshape(-1,1)什么意思:

大意是說,數(shù)組新的shape屬性應(yīng)該要與原來的配套,如果等于-1的話,那么Numpy會(huì)根據(jù)剩下的維度計(jì)算出數(shù)組的另外一個(gè)shape屬性值。

舉例:


也就是說,先前我們不知道z的shape屬性是多少,但是想讓z變成只有一列,行數(shù)不知道多少,通過`z.reshape(-1,1)`,Numpy自動(dòng)計(jì)算出有12行,新的數(shù)組shape屬性為(16, 1),與原來的(4, 4)配套。


newshape等于-1,列數(shù)等于2,行數(shù)未知,reshape后的shape等于(8, 2)

同理,只給定行數(shù),newshape等于-1,Numpy也可以自動(dòng)計(jì)算出新數(shù)組的列數(shù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 基礎(chǔ)篇NumPy的主要對(duì)象是同種元素的多維數(shù)組。這是一個(gè)所有的元素都是一種類型、通過一個(gè)正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,299評(píng)論 0 18
  • NumPy是Python中關(guān)于科學(xué)計(jì)算的一個(gè)類庫,在這里簡單介紹一下。 來源:https://docs.scipy...
    灰太狼_black閱讀 1,337評(píng)論 0 5
  • 先決條件 在閱讀這個(gè)教程之前,你多少需要知道點(diǎn)python。如果你想從新回憶下,請(qǐng)看看Python Tutoria...
    舒map閱讀 2,753評(píng)論 1 13
  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,679評(píng)論 0 13
  • 目錄: 5.1 pandas 的數(shù)據(jù)結(jié)構(gòu)介紹 5.1.1 Series 5.1.2 DataFrame 5.1.3...
    凌岸_ing閱讀 4,928評(píng)論 0 17

友情鏈接更多精彩內(nèi)容