NumPy-既存のデータからの配列

この章では、既存のデータから配列を作成する方法について説明します。

numpy.asarray

この関数は、パラメーターが少ないことを除けば、numpy.arrayに似ています。このルーチンは、Pythonシーケンスをndarrayに変換するのに役立ちます。

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

コンストラクターは次のパラメーターを取ります。

シニア番号 パラメータと説明
1

a

リスト、タプルのリスト、タプル、タプルのタプル、リストのタプルなど、任意の形式でデータを入力します

2

dtype

デフォルトでは、入力データのデータ型は結果のndarrayに適用されます

3

order

C(行メジャー)またはF(列メジャー)。Cがデフォルトです

次の例は、 asarray 関数。

例1

# convert list to ndarray 
import numpy as np 

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

その出力は次のようになります-

[1  2  3]

例2

# dtype is set 
import numpy as np 

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

これで、出力は次のようになります。

[ 1.  2.  3.]

例3

# ndarray from tuple 
import numpy as np 

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

その出力は次のようになります-

[1  2  3]

例4

# ndarray from list of tuples 
import numpy as np 

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

ここで、出力は次のようになります-

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

numpy.frombuffer

この関数は、バッファーを1次元配列として解釈します。バッファインターフェイスを公開するオブジェクトは、パラメータとして使用され、ndarray

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

コンストラクターは次のパラメーターを取ります。

シニア番号 パラメータと説明
1

buffer

バッファインターフェイスを公開するオブジェクト

2

dtype

返されたndarrayのデータ型。デフォルトはfloat

3

count

読み取るアイテムの数。デフォルトは-1はすべてのデータを意味します

4

offset

読み取る開始位置。デフォルトは0です

次の例は、 frombuffer 関数。

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

この関数は、 ndarray反復可能なオブジェクトからのオブジェクト。この関数によって、新しい1次元配列が返されます。

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

ここで、コンストラクターは次のパラメーターを取ります。

シニア番号 パラメータと説明
1

iterable

反復可能なオブジェクト

2

dtype

結果の配列のデータ型

3

count

イテレータから読み取るアイテムの数。デフォルトは-1で、これはすべてのデータが読み取られることを意味します

次の例は、組み込みの使用方法を示しています range()リストオブジェクトを返す関数。このリストのイテレータは、ndarray オブジェクト。

例1

# create list object using range function 
import numpy as np 
list = range(5) 
print list

その出力は次のとおりです-

[0,  1,  2,  3,  4]

例2

# obtain iterator object from list 
import numpy as np 
list = range(5) 
it = iter(list)  

# use iterator to create ndarray 
x = np.fromiter(it, dtype = float) 
print x

これで、出力は次のようになります。

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