鍍金池/ 教程/ 數(shù)據(jù)分析&挖掘/ NumPy來(lái)自現(xiàn)有數(shù)據(jù)的數(shù)組
NumPy位操作
NumPy數(shù)學(xué)算數(shù)函數(shù)
NumPy高級(jí)索引
NumPy環(huán)境安裝配置
NumPy IO文件操作
NumPy字符串函數(shù)
NumPy切片和索引
NumPy統(tǒng)計(jì)函數(shù)
NumPy矩陣庫(kù)
NumPy數(shù)組創(chuàng)建例程
NumPy線(xiàn)性代數(shù)
NumPy Matplotlib庫(kù)
NumPy教程
NumPy排序、搜索和計(jì)數(shù)函數(shù)
NumPy字節(jié)交換
NumPy Ndarray對(duì)象
NumPy數(shù)組操作
NumPy使用 Matplotlib 繪制直方圖
NumPy數(shù)組屬性
NumPy廣播
NumPy來(lái)自現(xiàn)有數(shù)據(jù)的數(shù)組
NumPy副本和視圖
NumPy在數(shù)組上的迭代
NumPy來(lái)自數(shù)值范圍的數(shù)組
NumPy算數(shù)運(yùn)算
NumPy數(shù)據(jù)類(lèi)型

NumPy來(lái)自現(xiàn)有數(shù)據(jù)的數(shù)組

NumPy - 來(lái)自現(xiàn)有數(shù)據(jù)的數(shù)組

這一章中,我們會(huì)討論如何從現(xiàn)有數(shù)據(jù)創(chuàng)建數(shù)組。

numpy.asarray

此函數(shù)類(lèi)似于numpy.array,除了它有較少的參數(shù)。 這個(gè)例程對(duì)于將 Python 序列轉(zhuǎn)換為ndarray非常有用。

numpy.asarray(a, dtype = None, order = None)

構(gòu)造器接受下列參數(shù):

序號(hào) 參數(shù)及描述
1. a 任意形式的輸入?yún)?shù),比如列表、列表的元組、元組、元組的元組、元組的列表
2. dtype 通常,輸入數(shù)據(jù)的類(lèi)型會(huì)應(yīng)用到返回的ndarray
3. order 'C'為按行的 C 風(fēng)格數(shù)組,'F'為按列的 Fortran 風(fēng)格數(shù)組

下面的例子展示了如何使用asarray函數(shù):

示例 1

# 將列表轉(zhuǎn)換為 ndarray 
import numpy as np 

x =  [1,2,3] 
a = np.asarray(x)  
print a

輸出如下:

[1  2  3]

示例 2

# 設(shè)置了 dtype  
import numpy as np 

x =  [1,2,3] 
a = np.asarray(x, dtype =  float)  
print a

輸出如下:

[ 1.  2.  3.]

示例 3

# 來(lái)自元組的 ndarray  
import numpy as np 

x =  (1,2,3) 
a = np.asarray(x)  
print a

輸出如下:

[1  2  3]

示例 4

# 來(lái)自元組列表的 ndarray
import numpy as np 

x =  [(1,2,3),(4,5)] 
a = np.asarray(x)  
print a

輸出如下:

[(1, 2, 3) (4, 5)]

numpy.frombuffer

此函數(shù)將緩沖區(qū)解釋為一維數(shù)組。 暴露緩沖區(qū)接口的任何對(duì)象都用作參數(shù)來(lái)返回ndarray。

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

構(gòu)造器接受下列參數(shù):

序號(hào) 參數(shù)及描述
1. buffer 任何暴露緩沖區(qū)借口的對(duì)象
2. dtype 返回?cái)?shù)組的數(shù)據(jù)類(lèi)型,默認(rèn)為float
3. count 需要讀取的數(shù)據(jù)數(shù)量,默認(rèn)為-1,讀取所有數(shù)據(jù)
4. offset 需要讀取的起始位置,默認(rèn)為0

示例

下面的例子展示了frombuffer函數(shù)的用法。

import numpy as np 
s =  'Hello World' 
a = np.frombuffer(s, dtype =  'S1')  
print a

輸出如下:

['H'  'e'  'l'  'l'  'o'  ' '  'W'  'o'  'r'  'l'  'd']

numpy.fromiter

此函數(shù)從任何可迭代對(duì)象構(gòu)建一個(gè)ndarray對(duì)象,返回一個(gè)新的一維數(shù)組。

numpy.fromiter(iterable, dtype, count = -1)

構(gòu)造器接受下列參數(shù):

序號(hào) 參數(shù)及描述
1. iterable 任何可迭代對(duì)象
2. dtype 返回?cái)?shù)組的數(shù)據(jù)類(lèi)型
3. count 需要讀取的數(shù)據(jù)數(shù)量,默認(rèn)為-1,讀取所有數(shù)據(jù)

以下示例展示了如何使用內(nèi)置的range()函數(shù)返回列表對(duì)象。 此列表的迭代器用于形成ndarray對(duì)象。

示例 1

# 使用 range 函數(shù)創(chuàng)建列表對(duì)象  
import numpy as np 
list = range(5)  
print list

輸出如下:

[0,  1,  2,  3,  4]

示例 2

# 從列表中獲得迭代器  
import numpy as np 
list = range(5) 
it = iter(list)  
# 使用迭代器創(chuàng)建 ndarray 
x = np.fromiter(it, dtype =  float)  
print x

輸出如下:

[0.   1.   2.   3.   4.]