Numpy-array-from-existing-data
NumPy-既存のデータからの配列
この章では、既存のデータから配列を作成する方法について説明します。
numpy.asarray
この関数は、パラメーターが少ないという点を除いて、numpy.arrayに似ています。 このルーチンは、Pythonシーケンスをndarrayに変換するのに役立ちます。
numpy.asarray(a, dtype = None, order = None)
コンストラクターは次のパラメーターを取ります。
Sr.No. | Parameter & Description |
---|---|
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)
コンストラクターは次のパラメーターを取ります。
Sr.No. | Parameter & Description |
---|---|
1 |
buffer バッファインターフェイスを公開するオブジェクト |
2 |
dtype 返されるndarrayのデータ型。 デフォルトはフロート |
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)
ここで、コンストラクターは次のパラメーターを取ります。
Sr.No. | Parameter & Description |
---|---|
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.]