成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Numpy 中文用戶指南 3.2 創(chuàng)建數(shù)組

zilu / 2349人閱讀

摘要:將以指定數(shù)量的元素創(chuàng)建數(shù)組,并平分開始值和結(jié)束值。將創(chuàng)建數(shù)組的集合用一維數(shù)組來模擬高維數(shù)組,每一維都有表示它的變量。一個例子說明比口頭描述好得多計算規(guī)則網(wǎng)格上的高維函數(shù)時,這會非常有用。

原文:Array creation

譯者:飛龍

?

另見

數(shù)組創(chuàng)建例程

導(dǎo)言

數(shù)組創(chuàng)建的一般機(jī)制有五種:

從其它Python的結(jié)構(gòu)轉(zhuǎn)換(如列表和元組)

內(nèi)置的NumPy數(shù)組創(chuàng)建對象(如 arange, ones, zeros以及其它)

從磁盤中讀取標(biāo)準(zhǔn)或自定義格式的數(shù)據(jù)

通過使用字符串或者緩沖區(qū),從原始的字節(jié)創(chuàng)建數(shù)組

使用特殊的庫函數(shù)(比如random

本節(jié)不會涉及復(fù)制和連接等擴(kuò)展和轉(zhuǎn)換現(xiàn)有數(shù)組的方法,也不會涉及創(chuàng)建對象數(shù)組和結(jié)構(gòu)化數(shù)組。這些會在它們自己的章節(jié)中講述。

將Python類似數(shù)組的對象轉(zhuǎn)換為NumPy數(shù)組

通常,Python中排列為數(shù)組結(jié)構(gòu)的數(shù)值數(shù)據(jù)可以通過array()函數(shù)來轉(zhuǎn)換成數(shù)組,典型的例子就是列表和元組。具體使用方法請見array()函數(shù)的文檔。一些對象也支持?jǐn)?shù)組的協(xié)議,并且可以用這種方法轉(zhuǎn)換成數(shù)組。辨識一個對象是否能轉(zhuǎn)換為數(shù)組,最簡單的方法就是在交互式環(huán)境中嘗試這一方法,看看它是否有效(即Python之道)。

例如:

>>> x = np.array([2,3,1,0])
>>> x = np.array([2, 3, 1, 0])
>>> x = np.array([[1,2.0],[0,0],(1+1j,3.)]) # note mix of tuple and lists,
    and types
>>> x = np.array([[ 1.+0.j, 2.+0.j], [ 0.+0.j, 0.+0.j], [ 1.+1.j, 3.+0.j]])
內(nèi)置的NumPy數(shù)組創(chuàng)建

NumPy具有從無到有創(chuàng)建數(shù)組的內(nèi)置功能:

zeros(shape) 將創(chuàng)建一個填充為0的指定形狀的數(shù)組。

>>> np.zeros((2, 3)) array([[ 0., 0., 0.], [ 0., 0., 0.]])

ones(shape) 將創(chuàng)建一個填充為1的數(shù)組。在其他所有方面都和zeros相同。

arange()將創(chuàng)建有規(guī)律的增量值數(shù)組。它的幾種用法請見docstring。這里給出幾個例子:

>>> np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.arange(2, 10, dtype=np.float)
array([ 2., 3., 4., 5., 6., 7., 8., 9.])
>>> np.arange(2, 3, 0.1)
array([ 2. , 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])

請注意,關(guān)于最后一個用例,有一些使用技巧,請見arrange的docstring。

linspace()將以指定數(shù)量的元素創(chuàng)建數(shù)組,并平分開始值和結(jié)束值。例如:

>>> np.linspace(1., 4., 6)
array([ 1. ,  1.6,  2.2,  2.8,  3.4,  4. ])

這些創(chuàng)建函數(shù)的好處是,可以保證元素個數(shù)、起始點和結(jié)束點,arange()一般不會指定任意的起始值、結(jié)束值和步長。

indices()將創(chuàng)建數(shù)組的集合(用一維數(shù)組來模擬高維數(shù)組),每一維都有表示它的變量。一個例子說明比口頭描述好得多:

>>> np.indices((3,3))
array([[[0, 0, 0], [1, 1, 1], [2, 2, 2]], [[0, 1, 2], [0, 1, 2], [0, 1, 2]]])

計算規(guī)則網(wǎng)格上的高維函數(shù)時,這會非常有用。

從磁盤讀取數(shù)組

這大概是大數(shù)組創(chuàng)建的最常見情況。當(dāng)然,細(xì)節(jié)取決于磁盤上的數(shù)據(jù)格式,所以這一節(jié)只能給出如何處理各種格式的一般建議。

標(biāo)準(zhǔn)二進(jìn)制格式

各個領(lǐng)域都有數(shù)組數(shù)據(jù)的標(biāo)準(zhǔn)格式。以下列出了用于讀取和返回NumPy數(shù)組的已知Python庫(也有其它的庫可以讀取數(shù)組并轉(zhuǎn)換為NumPy數(shù)組,所以也請看一下最后一節(jié))

HDF5: PyTables
FITS: PyFITS

一些格式不能直接讀取,但是不難將其轉(zhuǎn)換為類似PIL庫(能夠讀寫許多圖像格式,例如jpg、png以及其它)所支持的格式。

普通的ASCII格式

逗號分隔值文件(CSV)被廣泛使用(可以被類似Excel的一些程序?qū)雽?dǎo)出)。有一些在python中讀取這些文件的方法,例如Python和pylab(Matplotlib的一部分)中的函數(shù)。

更通用的ASCII文件可以使用SciPy的IO包來讀取。

自定義二進(jìn)制格式

有多種方法可以使用。如果文件有一個相對簡單的格式,那么你可以寫一個簡單的I/O庫并使用numpy fromfile()tofile()方法直接讀寫NumPy數(shù)組(注意字節(jié)順序?。?。如果有一個不錯的C/C++庫可以用于讀取數(shù)據(jù),則可以用各種技巧把它封裝一下,雖然這可能要耗費(fèi)一些工作量,也需要更多高級的知識來和C/C++交互。

特殊庫的使用

有一些庫可以用于生成特殊用途的數(shù)組,這樣的庫不可能全部列舉出來。最常見的用法是使用許多數(shù)組生成函數(shù)來產(chǎn)生帶有隨機(jī)值的數(shù)組,以及使用一些生成特殊矩陣(如對角線)的功能函數(shù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37842.html

相關(guān)文章

  • Numpy 中文用戶指南 1. 安裝

    摘要:包的核心是對象。但有個例外,包括對象數(shù)組的元素大小是不同的。序列大小和速度在科學(xué)計算中尤為重要。例如考慮兩個長度相同的列表中每個元素相乘的情況。此外,編碼所需的工作量隨數(shù)據(jù)維數(shù)的增加而增加。這些信息主要用于高級用戶。 譯者:飛龍 1.1 NumPy 是什么? 原文:What is NumPy? NumPy是Python中用于科學(xué)計算的基礎(chǔ)包。它是一個Python庫,提供多維數(shù)組對象,各...

    mochixuan 評論0 收藏0
  • Python 數(shù)據(jù)科學(xué)常用包 (一) Numpy

    摘要:是什么今天開始會陸續(xù)為大家?guī)頂?shù)據(jù)科學(xué)常用包的基礎(chǔ)用法數(shù)據(jù)分析的工作涉及到大量的數(shù)值運(yùn)算,一個高效方便的科學(xué)計算工具是必不可少的。 NumPy是什么? 今天開始會陸續(xù)為大家?guī)頂?shù)據(jù)科學(xué)常用包的基礎(chǔ)用法 數(shù)據(jù)分析的工作涉及到大量的數(shù)值運(yùn)算,一個高效方便的科學(xué)計算工具是必不可少的。Python語言一開始并不是設(shè)計為科學(xué)計算使用的語言,隨著越來越多的人發(fā)現(xiàn)Python的易用性,逐漸出現(xiàn)了關(guān)于...

    Dean 評論0 收藏0
  • 一文帶你斬殺Python之Numpy??Pandas全部操作【全網(wǎng)最詳細(xì)】???

    目錄Numpy簡介Numpy操作集合1、不同維度數(shù)據(jù)的表示1.1 一維數(shù)據(jù)的表示1.2 二維數(shù)據(jù)的表示1.3 三維數(shù)據(jù)的表示2、 為什么要使用Numpy2.1、Numpy的ndarray具有廣播功能2.2 Numpy數(shù)組的性能比Python原生數(shù)據(jù)類型高3 ndarray的屬性和基本操作3.1 ndarray的基本屬性3.2 ndarray元素類型3.3 創(chuàng)建ndarray的方式3.4 ndarr...

    asoren 評論0 收藏0
  • Numpy 中文用戶指南 3.1 數(shù)據(jù)類型

    摘要:其他數(shù)據(jù)類型在中沒有對應(yīng)。因此,使用數(shù)組標(biāo)量確保了數(shù)組和標(biāo)量之間具有相同的行為,無論值在不在數(shù)組中。不提供比的精度更高的特別是位四精度數(shù)據(jù)類型的是不能用的。 原文:Data types 譯者:飛龍 ? 另見 數(shù)據(jù)類型對象 數(shù)組類型和類型之間的轉(zhuǎn)換 NumPy支持的數(shù)值類型比Python更多。這一節(jié)會講述所有可用的類型,以及如何改變數(shù)組的數(shù)據(jù)類型。 數(shù)據(jù)類型 描述 bo...

    褰辯話 評論0 收藏0
  • Numpy 中文用戶指南 2. 快速啟動

    摘要:注意和標(biāo)準(zhǔn)庫類并不相同,后者只處理一維數(shù)組和提供少量功能。然而,指定參數(shù)你可以吧運(yùn)算應(yīng)用到數(shù)組指定的軸上通用函數(shù)提供常見的數(shù)學(xué)函數(shù)如和。在中,這些叫作通用函數(shù)。函數(shù),另一方面,將一維數(shù)組以行組合成二維數(shù)組。 原文:Quickstart tutorial 譯者:Reverland 來源:試驗性NumPy教程(譯) 2.1 先決條件 在閱讀這個教程之前,你多少需要知道點python。如...

    shiina 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<