欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

NDArray 與 numpy.ndarray 互相轉(zhuǎn)換方式

 更新時間:2022年05月23日 10:00:18   作者:xiaotao_1  
這篇文章主要介紹了NDArray 與 numpy.ndarray 互相轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

NDArray與numpy.ndarray互相轉(zhuǎn)換

import numpy as np
from mxnet import nd
# numpy.ndarray 變 mx.NDArray
np_val = np.array([1, 2, 3])   # 定義一個numpy.ndarray
nd_val = nd.array(np_val)   # 深復(fù)制 
# NDArray 變 numpy.ndarray
np_val_ = nd_val.asnumpy()

NumPy與ndarray簡介

NumPy簡介

NumPy的全名為Numeric Python,是一個開源的Python科學(xué)計(jì)算庫,它包括:

  • 一個強(qiáng)大的N維數(shù)組對象ndrray;
  • 比較成熟的(廣播)函數(shù)庫;
  • 用于整合C/C++和Fortran代碼的工具包;
  • 實(shí)用的線性代數(shù)、傅里葉變換和隨機(jī)數(shù)生成函數(shù)

NumPy的優(yōu)點(diǎn):

  • 對于同樣的數(shù)值計(jì)算任務(wù),使用NumPy要比直接編寫Python代碼便捷得多;
  • NumPy中的數(shù)組的存儲效率和輸入輸出性能均遠(yuǎn)遠(yuǎn)優(yōu)于Python中等價的基本數(shù)據(jù)結(jié)構(gòu),且其能夠提升的性能是與數(shù)組中的元素成比例的;
  • NumPy的大部分代碼都是用C語言寫的,其底層算法在設(shè)計(jì)時就有著優(yōu)異的性能,這使得NumPy比純Python代碼高效得多

當(dāng)然,NumPy也有其不足之處,由于NumPy使用內(nèi)存映射文件以達(dá)到最優(yōu)的數(shù)據(jù)讀寫性能,而內(nèi)存的大小限制了其對TB級大文件的處理;此外,NumPy數(shù)組的通用性不及Python提供的list容器。因此,在科學(xué)計(jì)算之外的領(lǐng)域,NumPy的優(yōu)勢也就不那么明顯。

數(shù)組ndarray

NumPy最重要的一個特點(diǎn)就是其N維數(shù)組對象(即ndarray),該對象是一個快速而靈活的大數(shù)據(jù)集容器,該對象由兩部分組成:

  • 實(shí)際的數(shù)據(jù);
  • 描述這些數(shù)據(jù)的元數(shù)據(jù);

大部分的數(shù)組操作僅僅是修改元數(shù)據(jù)部分,而不改變其底層的實(shí)際數(shù)據(jù)。數(shù)組的維數(shù)稱為秩,簡單來說就是如果你需要獲取數(shù)組中一個特定元素所需的坐標(biāo)數(shù),如a是一個2×3×4的矩陣,你索引其中的一個元素必須給定三個坐標(biāo)a[x,y,z],故它的維數(shù)就是3。而軸可以理解為一種對數(shù)組空間的分割,以數(shù)組a為例,如果我們以0為軸,那么a可以看成是一個由兩個元素構(gòu)成的數(shù)組,其中每個元素都是一個3×4的數(shù)組。

我們可以直接將數(shù)組看作一種新的數(shù)據(jù)類型,就像list、tuple、dict一樣,但數(shù)組中所有元素的類型必須是一致的,Python支持的數(shù)據(jù)類型有整型、浮點(diǎn)型以及復(fù)數(shù)型,但這些類型不足以滿足科學(xué)計(jì)算的需求,因此NumPy中添加了許多其他的數(shù)據(jù)類型,如bool、inti、int64、float32、complex64等。同時,它也有許多其特有的屬性和方法。

常用ndarray屬性:

dtype 描述數(shù)組元素的類型

shape 以tuple表示的數(shù)組形狀

ndim 數(shù)組的維度

size 數(shù)組中元素的個數(shù)

itemsize 數(shù)組中的元素在內(nèi)存所占字節(jié)數(shù)

T 數(shù)組的轉(zhuǎn)置

flat 返回一個數(shù)組的迭代器,對flat賦值將導(dǎo)致整個數(shù)組的元素被覆蓋

real/imag 給出復(fù)數(shù)數(shù)組的實(shí)部/虛部

nbytes 數(shù)組占用的存儲空間

常用ndarray方法:

  
reshape(…)返回一個給定shape的數(shù)組的副本
resize(…)返回給定shape的數(shù)組,原數(shù)組shape發(fā)生改變
flatten()/ravel()返回展平數(shù)組,原數(shù)組不改變
astype(dtype)返回指定元素類型的數(shù)組副本
fill()將數(shù)組元素全部設(shè)定為一個標(biāo)量值
sum/Prod()計(jì)算所有數(shù)組元素的和/積
mean()/var()/std()返回數(shù)組元素的均值/方差/標(biāo)準(zhǔn)差
max()/min()/ptp()/median()返回數(shù)組元素的最大值/最小值/取值范圍/中位數(shù)
argmax()/argmin()返回最大值/最小值的索引
sort()對數(shù)組進(jìn)行排序,axis指定排序的軸;kind指定排序算法,默認(rèn)是快速排序
view()/copy()view創(chuàng)造一個新的數(shù)組對象指向同一數(shù)據(jù);copy是深復(fù)制
tolist()將數(shù)組完全轉(zhuǎn)為列表,注意與直接使用list(array)的區(qū)別
compress()返回滿足條件的元素構(gòu)成的數(shù)組

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用turtle繪制五角星、分形樹

    使用turtle繪制五角星、分形樹

    這篇文章主要為大家詳細(xì)介紹了使用turtle繪制五角星、分形樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python中嘗試多線程編程的一個簡明例子

    Python中嘗試多線程編程的一個簡明例子

    這篇文章主要介紹了Python中嘗試多線程編程的一個簡明例子,由于GIL的存在,Python中的多線程編程一個是熱點(diǎn)和難點(diǎn)問題,需要的朋友可以參考下
    2015-04-04
  • python 除法保留兩位小數(shù)點(diǎn)的方法

    python 除法保留兩位小數(shù)點(diǎn)的方法

    今天小編就為大家分享一篇python 除法保留兩位小數(shù)點(diǎn)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python logging模塊的使用

    python logging模塊的使用

    這篇文章主要介紹了python logging模塊的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python命令行中引導(dǎo)用戶指定選擇路徑

    Python命令行中引導(dǎo)用戶指定選擇路徑

    這篇文章主要為大家介紹了命令行中引導(dǎo)用戶指定選擇路徑,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例

    tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例

    今天小編就為大家分享一篇tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python開發(fā)生產(chǎn)環(huán)境常用的4個工具(實(shí)用推薦)

    Python開發(fā)生產(chǎn)環(huán)境常用的4個工具(實(shí)用推薦)

    構(gòu)建優(yōu)秀的軟件需要遵循特定的規(guī)則并執(zhí)行行業(yè)標(biāo)準(zhǔn),如何在真實(shí)的生產(chǎn)環(huán)境開發(fā)中體現(xiàn)呢?在這篇文章中,我將向您展示我在Python項(xiàng)目中設(shè)置的4種工具,以簡化開發(fā)工作流程并執(zhí)行一些最佳實(shí)踐,這些工具幫助我提高了效率,節(jié)省了時間,希望你讀完也能有所收獲
    2024-01-01
  • Pycharm如何添加源與添加庫

    Pycharm如何添加源與添加庫

    這篇文章主要介紹了Pycharm如何添加源與添加庫問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python中處理字符串之isalpha()方法的使用

    Python中處理字符串之isalpha()方法的使用

    這篇文章主要介紹了Python中處理字符串之isalpha()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • django在接受post請求時顯示403forbidden實(shí)例解析

    django在接受post請求時顯示403forbidden實(shí)例解析

    這篇文章主要介紹了django在接受post請求時顯示403forbidden實(shí)例解析,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01

最新評論