NumPyのndarry配列の作成

4415 ワード

numpy.Emptyメソッド
指定したシェイプとタイプの配列を作成し、初期化されていません.
numpy.empty(shape,dtype=float,order='C')
ここでshapeは配列形状を表し、dtypeはデータ型を表し、orderでは「C」は行優先、「F」は列優先を表す.
#      
x=np.empty([3,2],dtype=np.int32,order='C')
print(x)

実行後の結果:
[[  7209029   6422625]
 [  6619244       100]
 [  6553673 911867904]]

Process finished with exit code 0

numpy.zerosメソッド
numpy.zeros(shape,dtype=float,order='F')
指定したサイズの配列を作成し、配列要素を0で埋めます.例:カスタムタイプを使用してzeros配列を作成します.
z=np.zeros((5,),dtype=[('name','i8'),('age','i4')])
print(z)

 
numpy.onesメソッド
numpy.onesメソッドは、配列要素が1で埋め込まれた指定された形状の配列を作成します.
numpy.ones(shape,dtype=None,order='C')
 
numpy.asarrayメソッド
numpy.asarrayはnumpyに似ています.だが...asarrayパラメータはnumpyより3つしかありません.arrayは2つ足りない.
numpy.asarray(a,dtype=None,order='C')
ここでdtype、order属性はarray属性と同様であり、パラメータaは任意の形式の入力パラメータを指し、リスト、リストメタグループ、メタグループ、メタグループのメタグループ、メタグループのリスト、多次元配列であってもよい.
リストx=[1,3,4]をndarry:a=npに変換する.asarray(x)
メタグループをndarrayに変換するには:
xa=[(1,3,4),(2,4,2),(1,4,2,5)]
xs=np.asarray(xa)
print(xs)

実行結果:
[(1, 3, 4) (2, 4, 2) (1, 4, 2, 5)]

Process finished with exit code 0

 
numpy.frombuffer
主に動的配列を実現するために用いるnumpy.frombufferはbuffer入力パラメータを受け入れ、ストリームとしてndarrayオブジェクトに読み込み変換します.
注意:bufferが文字列の場合、Python 3のデフォルトstrはUnicodeタイプなのでbytestringに変換して元strの前にbを付けます.
numpy.frombuffer(buffer,dtype=float,count=-1,offset=0)
buffer:任意のオブジェクトで、ストリームの形式で読み込むことができます.
dtype:データ型
count:読み出しデータの数、デフォルトは-1で、すべてのデータを読み出します
offset:読み込みの開始位置、デフォルトの先頭開始度
次は一連の文字の変換を実現します.
#        numpy,frombuffer
s=b'Hellow'
zs=np.frombuffer(s,dtype='S3');
print(zs)

コードに注意しなければならないのは2つあります.1つはpython 3です.xでbytestringに変換するには、元のstrの前にb 2がdtypeのタイプ「SN」のNの値を加えてbytestringタイプ文字の長さで除去する必要があります.
実行結果:
[b'Hel' b'low']

 
numpy.fromiterメソッド
この方法では、反復可能なオブジェクトからndarrayオブジェクトを作成し、配列のセットを返すことができます.
numpy.fromiter(iterable,dtype,count=-1)
iterable:反復可能オブジェクト
dtype:配列を返すデータ型
count:読み出しデータの数
次にrangeリスト関数を使用してリストオブジェクトを作成し、反復器を使用してndarrayオブジェクトを作成します.
#        ndarray
list=range(5)
it=iter(list)
xt=np.fromiter(it,dtype=float)
print(xt)

実行結果:
[0. 1. 2. 3. 4.]

Process finished with exit code 0

 
numpy.arange関数
numpyパッケージでarangge関数を使用して数値範囲を作成し、ndarrayオブジェクトを返します.関数フォーマットは次のとおりです.
numpy.arange(start,stop,step,dtype)
ここでstart:開始値
stop:終了値
Step:ステップ長、デフォルトは1
dtype:ndarrayのタイプを返し、デフォルトでは入力データのタイプを返します.
開始値、終了値、ステップ長を設定します.
#             
xc=np.arange(10,20,2)
print(xc)

実行結果:
[10 12 14 16 18]

Process finished with exit code 0

 
numpy.linspace関数
等差を作成する1 D配列
np.linspace(start,stop,num=50,endpoint=True,rerstep=False,dtype=None)
ここでnum:等歩長を生成するサンプルの数、デフォルト50
endpointこの値がTrueの場合、数列にstop値が含まれ、逆に含まれません.デフォルトはTrueです.
retstep Trueの場合、生成された配列にピッチが表示され、逆に表示されません
at=np.linspace(1,10,12,endpoint=True ).reshape([2,6])
[[ 1.          1.81818182  2.63636364  3.45454545  4.27272727  5.09090909]
 [ 5.90909091  6.72727273  7.54545455  8.36363636  9.18181818 10.        ]]

 
numpy.logspace関数
等比数列を作成します.フォーマットは次のとおりです.
np.logspace(start,stop,num=50,endpoint=True,base=10.0, dtype=None)
ここでbase:対数logの底数を指す