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

淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別

 更新時間:2020年06月18日 10:12:03   作者:阿_波_  
這篇文章主要介紹了淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這兩組函數(shù)中區(qū)別很是類似,都是一個不改變之前的數(shù)組,一個改變數(shù)組本身

resize和reshape

>>> import numpy as np
>>> a = np.arange(20).reshape(4,5)
>>> a
array([[ 0, 1, 2, 3, 4],
 [ 5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14],
 [15, 16, 17, 18, 19]])
>>> a.reshape(2,10)
array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]])
>>> a
array([[ 0, 1, 2, 3, 4],
 [ 5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14],
 [15, 16, 17, 18, 19]])
>>> a.resize(2,10)
>>> a
array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]])

兩個函數(shù)都是改變數(shù)組的形狀,但是resize是在本身上進行操作,reshape返回的是修改之后的參數(shù)

ravel和flatten

兩者都可以將數(shù)組轉換為一個維,

flatten(order='C')

參數(shù):{‘C',‘F',‘A',‘K'}

默認情況下‘C'以行為主的順序展開,‘F'(Fortran風格)意味著以列的順序展開,‘A'表示如果a在內存中為Fortran連續(xù),則按列展開,否則以行展開,‘K'按照元素在內存中出現(xiàn)的順序展平a。

>>> a = np.arange(6).reshape(2,3)
>>> a.flatten()
array([0, 1, 2, 3, 4, 5])
>>> a.ravel()
array([0, 1, 2, 3, 4, 5])
>>> a.flatten('F')
array([0, 3, 1, 4, 2, 5])
>>> a.ravel('F')
array([0, 3, 1, 4, 2, 5])
>>> 
>>> x = np.array([[1,2],[3,4]])
>>> a = np.arange(6).reshape(2,3)
>>> a.flatten()[...] = 1
>>> a
array([[0, 1, 2],
 [3, 4, 5]])
>>> a.ravel()[...] = 1
>>> a
array([[1, 1, 1],
 [1, 1, 1]])
>>> 

flatten不會影響原始矩陣,返回的是一個副本,但是ravel是會修改數(shù)組

補充知識:【Numpy】維度變化reshape、ravel、flatten、transpose、resize、swapaxes

0. 首先,創(chuàng)建一個多維數(shù)組

from numpy import *
a = arange(24)

得到:

[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]

1.reshape 函數(shù)

b = a.reshape(2,3,4)
print(b)

得到一個 2*3*4 維的數(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]]]

可以想象成2層小洋樓,每層有 3*4 個房間

2.ravel函數(shù) 可以將多維數(shù)組展平(也就是變回一維)

c = b.ravel()
print(c)

得到一維數(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]

3.flatten函數(shù) 也是將多維數(shù)組展平,與ravel函數(shù)的功能相同,不過flatten函數(shù)會請求分配內存來保存結果,而ravel函數(shù)只是返回數(shù)組的一個視圖(view)

c = b.flatten()
print(c)

得到一維數(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.用元組設置維度

直接用一個正整數(shù)元組來設置數(shù)組的維度

b.shape = (6,4)
print(b)

這種做法將直接改變所操作的數(shù)組,現(xiàn)在數(shù)組b變成了一個 6*4 的多維數(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]]

5.transpose函數(shù) 將矩陣進行轉置

d = b.transpose()
print(d)

得到 4*6 的多維數(shù)組

[[ 0 4 8 12 16 20]
 [ 1 5 9 13 17 21]
 [ 2 6 10 14 18 22]
 [ 3 7 11 15 19 23]]

6.transpose函數(shù) 將矩陣按照設定維度變換順序

b = a.reshape(2,3,4)
c = b.transpose((2,1,0))
print(c)

得到一個形狀為4*3*2的數(shù)組:

 array([[[ 0, 12],
 [ 4, 16],
 [ 8, 20]],
 [[ 1, 13],
 [ 5, 17],
 [ 9, 21]],
 [[ 2, 14],
 [ 6, 18],
 [10, 22]],
 [[ 3, 15],
 [ 7, 19],
 [11, 23]]])

7.resize函數(shù)和reshape函數(shù)的功能一樣,但resize會直接修改所操作的數(shù)組

b.resize((2,12))
print(b)

得到 2*12 的兩維數(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]]

并且這一步不可以通過賦值來實現(xiàn),如下所示:

e = b.resize((2,12))
print(e)

此時結果為:

None

8.swapaxes(ax1,ax2) : 將數(shù)組n個維度中兩個維度進行調換,不改變原數(shù)組

b = a.reshape(2,3,4)
c = b.swapaxes(0,2)
print(c)

得到一個形狀為4*3*2的數(shù)組(可以和6.transpose函數(shù)進行比較來看):

array([[[ 0, 12],
 [ 4, 16],
 [ 8, 20]],
 [[ 1, 13],
 [ 5, 17],
 [ 9, 21]],
 [[ 2, 14],
 [ 6, 18],
 [10, 22]],
 [[ 3, 15],
 [ 7, 19],
 [11, 23]]])

以上這篇淺談numpy中函數(shù)resize與reshape,ravel與flatten的區(qū)別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 用Python每天自動給女友免費發(fā)短信

    用Python每天自動給女友免費發(fā)短信

    大家好,本篇文章主要講的是用Python每天自動給女友免費發(fā)短信,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python MD5加密實例詳解

    Python MD5加密實例詳解

    這篇文章主要介紹了Python MD5加密實例詳解的相關資料,這里提供實現(xiàn)方法及實例,需要的朋友可以參考下
    2017-08-08
  • python turtle 繪制太極圖的實例

    python turtle 繪制太極圖的實例

    今天小編就為大家分享一篇python turtle 繪制太極圖的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 使用python實現(xiàn)省市三級菜單效果

    使用python實現(xiàn)省市三級菜單效果

    本文給大家分享的是使用使用python實現(xiàn)省市三級菜單效果的代碼,非常的實用,有需要的小伙伴可以參考下。
    2016-01-01
  • Python中的np.vstack()和np.hstack()詳解

    Python中的np.vstack()和np.hstack()詳解

    這篇文章主要介紹了np.vstack()和np.hstack(),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python 常用的安裝Module方式匯總

    Python 常用的安裝Module方式匯總

    這篇文章主要介紹了Python 常用的安裝Module方式匯總,需要的朋友可以參考下
    2017-05-05
  • Django2.1.7 查詢數(shù)據(jù)返回json格式的實現(xiàn)

    Django2.1.7 查詢數(shù)據(jù)返回json格式的實現(xiàn)

    這篇文章主要介紹了Django2.1.7 查詢數(shù)據(jù)返回json格式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 使用Python和PySpark進行數(shù)據(jù)分析的實戰(zhàn)教程

    使用Python和PySpark進行數(shù)據(jù)分析的實戰(zhàn)教程

    數(shù)據(jù)分析是當今信息時代中至關重要的技能之一,Python和PySpark作為強大的工具,提供了豐富的庫和功能,使得數(shù)據(jù)分析變得更加高效和靈活,在這篇文章中,我們將深入探討如何使用Python和PySpark進行數(shù)據(jù)分析,需要的朋友可以參考下
    2024-01-01
  • Django之創(chuàng)建引擎索引報錯及解決詳解

    Django之創(chuàng)建引擎索引報錯及解決詳解

    這篇文章主要介紹了Django之創(chuàng)建引擎索引報錯及解決詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 總結幾個非常實用的Python庫

    總結幾個非常實用的Python庫

    Python一直被自稱“batteries included”,就是因為內置了許多非常有用的模塊,無需額外安裝和配置,即可直接使用. 除了內建的模塊外,Python還有大量的第三方模塊,直接使用pip安裝即可使用.下面給大家簡單介紹幾個Python非常實用的自帶庫和第三方庫,需要的朋友可以參考下
    2021-06-06

最新評論

静海县| 景宁| 东乡族自治县| 开化县| 拜城县| 邵阳县| 旬阳县| 裕民县| 营口市| 洞头县| 攀枝花市| 油尖旺区| 那坡县| 佳木斯市| 漯河市| 赤水市| 越西县| 玉山县| 武邑县| 迭部县| 瑞丽市| 渑池县| 大化| 三原县| 平果县| 民勤县| 洪湖市| 太仓市| 四会市| 江川县| 和林格尔县| 上虞市| 会宁县| 龙岩市| 商城县| 衡南县| 林周县| 临汾市| 喀喇沁旗| 万宁市| 吉隆县|