NumPy既存の配列から配列を作成する

6458 ワード

NumPy既存の配列から配列を作成する
この章では、既存の配列から配列を作成する方法について説明します.
numpy.asarray
numpy.asarrayはnumpyに似ています.だが...asarrayはnumpyより3つしかありませんarrayは2つ足りない.
numpy.asarray(a, dtype = None, order = None)

パラメータの説明:
パラメータ
説明
a
任意の形式の入力パラメータ、リスト、リストのメタグループ、メタグループ、メタグループのメタグループ、メタグループのリスト、多次元配列
dtype
データ型、オプション
order
オプションとして、「C」と「F」の2つのオプションがあります.それぞれ、行優先と列優先、コンピュータメモリ内の記憶要素の順序を表します.
≪インスタンス|Instance|emdw≫
リストをndarrayに変換するには、次の手順に従います.
≪インスタンス|Instance|emdw≫
import numpy as np x = [1,2,3] a = np.asarray(x) print (a)
出力結果:
[1  2  3]

メタグループをndarrayに変換するには:
≪インスタンス|Instance|emdw≫
import numpy as np x = (1,2,3) a = np.asarray(x) print (a)
出力結果:
[1  2  3]

タプルリストをndarrayに変換するには:
≪インスタンス|Instance|emdw≫
import numpy as np x = [(1,2,3),(4,5)] a = np.asarray(x) print (a)
出力結果:
[(1, 2, 3) (4, 5)]

dtypeパラメータが設定されています.
≪インスタンス|Instance|emdw≫
import numpy as np x = [1,2,3] a = np.asarray(x, dtype = float) print (a)
出力結果:
[ 1.  2. 3.]

numpy.frombuffer
numpy.frombufferは動的配列を実現するために使用される.
numpy.frombufferはbuffer入力パラメータを受け入れ、ストリームとしてndarrayオブジェクトに読み込み変換します.
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

注意:bufferが文字列の場合、Python 3のデフォルトstrはUnicodeタイプなのでbytestringに変換して元strの前にbを付けます.
パラメータの説明:
パラメータ
説明
buffer
任意のオブジェクトであってもよく、ストリームとして読み込まれます.
dtype
配列のデータ型を返します.オプション
count
読み込まれたデータの数、デフォルトは-1で、すべてのデータが読み込まれます.
offset
読み込みの開始位置、デフォルトは0です.
Python3.xインスタンス
import numpy as np s = b'Hello World' a = np.frombuffer(s, dtype = 'S1') print (a)
出力結果:
[b'H' b'e' b'l' b'l' b'o' b' ' b'W' b'o' b'r' b'l' b'd']

Python2.xインスタンス
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
numpy.fromiterメソッドは反復可能なオブジェクトからndarrayオブジェクトを確立し、1次元配列を返します.
numpy.fromiter(iterable, dtype, count=-1)

パラメータ
説明
iterable
反復可能オブジェクト
dtype
配列のデータ型を返す
count
読み込まれたデータの数、デフォルトは-1で、すべてのデータが読み込まれます.
≪インスタンス|Instance|emdw≫
import numpy as np#range関数を使用してリストオブジェクトlist=range(5)it=iter(list)#反復器を使用してndarray x=npを作成する.fromiter(it, dtype=float) print(x)
出力結果:
[0. 1. 2. 3. 4.]

転載先:https://www.cnblogs.com/fpzs/p/10481435.html