ホームページ  >  記事  >  バックエンド開発  >  Pythonでの配列作成の詳しい説明 NumPyチュートリアル

Pythonでの配列作成の詳しい説明 NumPyチュートリアル

WBOY
WBOY転載
2022-08-26 11:59:552688ブラウズ

[関連する推奨事項: Python3 ビデオ チュートリアル ]

List を使用して配列を作成する

配列が使用されます変数には複数の値が格納されます。 Python には配列のサポートが組み込まれていませんが、代わりに Python リストを使用できます。

例:

arr = [1, 2, 3, 4, 5]
arr1 = ["geeks", "for", "geeks"]
# 用于创建数组的 Python 程序
 
# 使用列表创建数组
    arr=[1, 2, 3, 4, 5]
    for i in arr:
        print(i)

出力:

1
2
3
4
5

配列関数を使用して配列を作成します

array(データ型、値リスト) 関数は配列を作成するために使用されますパラメータで指定されたデータ型と値のリスト。

例:

# 演示 array() 工作的 Python 代码
  
# 为数组操作导入“array”
import array
  
# 用数组值初始化数组
# 用有符号整数初始化数组
arr = array.array('i', [1, 2, 3]) 
 
# 打印原始数组
print ("The new created array is : ",end="")
for i in range (0,3):
    print (arr[i], end=" ")
 
print ("\r")

出力:

##新しく作成された配列は次のとおりです: 1 2 3 1 5

numpy メソッドを使用した配列の作成

NumPy には、初期のプレースホルダーの内容を含む配列を作成するための関数がいくつか用意されています。これらにより、コストのかかる操作であるアレイの拡張の必要性が最小限に抑えられます。例: np.zeros、np.empty など。

numpy.empty(shape, dtype = float, order = 'C'): 指定された形状と型の新しい配列をランダムな値で返します。

# 说明 numpy.empty 方法的 Python 代码
 
import numpy as geek
 
b = geek.empty(2, dtype = int)
print("Matrix b : \n", b)
 
a = geek.empty([2, 2], dtype = int)
print("\nMatrix a : \n", a)
 
c = geek.empty([3, 3])
print("\nMatrix c : \n", c)

出力:

行列 b :

[ 0 1079574528]

行列 a :
[[0 0 ]
[0 0]]

行列 a :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0 .]]

numpy.zeros(shape, dtype = None, order = 'C'): 指定された形状と型の、ゼロを含む新しい配列を返します。

# 说明 numpy.zeros 方法的 Python 程序
 
import numpy as geek
 
b = geek.zeros(2, dtype = int)
print("Matrix b : \n", b)
 
a = geek.zeros([2, 2], dtype = int)
print("\nMatrix a : \n", a)
 
c = geek.zeros([3, 3])
print("\nMatrix c : \n", c)

出力:

行列 b :

[0 0]

行列 a :
[[0 0] ]
[0 0]]

行列 c :
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0 .]]

配列の形状を変更する

reshape メソッドを使用して、配列の形状を変更できます。形状の配列 (a1、a2、a3、...、aN) を考えます。それを再形成して、別の形状の配列 (b1、b2、b3、...、bM) に変換できます。

必要な条件は、a1 x a2 x a3 ... x aN = b1 x b2 x b3 ... x bM のみです。 (つまり、配列の元のサイズは変更されません。)

numpy.reshape(array, Shape, order = 'C'): 配列データを変更せずに配列を再形成します。

# 说明 numpy.reshape() 方法的 Python 程序
 
import numpy as geek
 
array = geek.arange(8)
print("Original array : \n", array)
 
# 具有 2 行和 4 列的形状数组
array = geek.arange(8).reshape(2, 4)
print("\narray reshaped with 2 rows and 4 columns : \n", array)
 
# 具有 2 行和 4 列的形状数组
array = geek.arange(8).reshape(4 ,2)
print("\narray reshaped with 2 rows and 4 columns : \n", array)
 
# 构造 3D 数组
array = geek.arange(8).reshape(2, 2, 2)
print("\nOriginal array reshaped to 3D : \n", array)

出力:

元の配列:

[0 1 2 3 4 5 6 7]

配列は 2 で再形成されました行と 4 列:
[[0 1 2 3]
[4 5 6 7]]

2 行と 4 列で再形成された配列:
[[0 1]
[2 3]
[4 5]
[6 7]]

元の配列を 3D に再形成:
[[[0 1]
[2 3]]

[[4 5]
[6 7]]]

数値シーケンスを作成するために、NumPy はリストの代わりに配列を返す range に似た関数を提供します。

arange 指定された間隔内で均一に分布した値を返します。 ステップ長さを指定します。

linspace 指定された間隔内で均一に分布した値を返します。 #__ という番号の要素が返されます。

arange([start,] stop[, step,][, dtype]):

間隔に基づいて等間隔の要素を含む配列を返します。言及されている間隔は半分開いています、つまり [開始、停止]

# 说明 numpy.arange 方法的 Python 编程
 
import numpy as geek
 
print("A\n", geek.arange(4).reshape(2, 2), "\n")
 
print("A\n", geek.arange(4, 10), "\n")
 
print("A\n", geek.arange(4, 20, 3), "\n")

出力:

A
[[0 1]

[2 3]]
#A
[4 5 6 7 8 9]
#A
[4 7 10 13 16 19]


numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None):
間隔全体で均等に数値スペースを返します。 arange と似ていますが、ステップの代わりにサンプル番号を使用します。

# 说明 numpy.linspace 方法的 Python 编程
 
import numpy as geek
 
# 重新设置为 True
print("B\n", geek.linspace(2.0, 3.0, num=5, retstep=True), "\n")
 
# 长期评估 sin()
x = geek.linspace(0, 2, 10)
print("A\n", geek.sin(x))

出力:

B (array([ 2. , 2.25, 2.5 , 2.75, 3. ]), 0.25)

A
[0. 929743]



フラット配列

flatten メソッドを使用して、1 次元に折りたたまれた配列のコピーを作成できます。順序パラメータを受け入れます。デフォルト値は「C」(行優先の順序)です。列のメジャーオーダーには「F」を使用します。

numpy.ndarray. flatten(order = 'C')

: 1 次元に折りたたまれた配列のコピーを返します。

# 说明 numpy.flatten() 方法的 Python 程序
 
import numpy as geek
 
array = geek.array([[1, 2], [3, 4]])
 
# 使用扁平化方法
array.flatten()
print(array)
 
#使用扁平化方法
array.flatten('F')
print(array)

出力:

#[1, 2, 3, 4]

[1, 3, 2, 4]

Numpy で配列を作成する方法

FunctionDescriptionempty()初期化エントリなしで、指定された形状と型の新しい配列を返します。 empty_like()指定された配列と同じ形状と型を持つ新しい配列を返しますeye() 対角線上に 1、その他の位置に 0 を含む 2 次元配列を返します。 identity()アイデンティティ配列を返しますones()指定された形状を返しますone_like() で埋められた型と型 # 指定された配列と同じ形状と型の配列を返しますzeros() を返します指定された形状と型の新しい配列、ゼロで埋められますzeros_like()指定されたものと同じものを返します指定された配列には同じ形状のゼロの配列がありますfull_like() と入力すると、指定された配列と同じ形状と型の完全な配列が返されます。 array()配列の作成asarray()入力を配列 # に変換します#arange()指定された間隔内で等間隔の値を返しますlinspace()指定された時間間隔内で均一に分布した数値を返します#logspace()geomspace()meshgrid()#mgrid()nd_grid インスタンス。高密度の多次元「グリッド」#diag()対角線を抽出するか、対角線配列を構築しますdiag flat()平坦化された入力を対角線として使用して 2 次元配列を作成しますtri()配列指定された対角線以下に 1 つ、それ以外の場所に 0 がある #tril()配列の下三角配列の上三角ヴァンデルモンド行列の生成##mat()入力を行列として解釈するbmat() 文字列、ネストされたシーケンス、または配列から行列オブジェクトを構築するPython3 ビデオ チュートリアル ]
asanyarray() 入力を ndarray に変換しますが、ndarray のサブクラスを渡します
ascontiguousarray() メモリ内の連続した配列を返します (C オーダー)
asmatrix() 入力を行列として解釈します
copy( ) 指定されたオブジェクトの配列コピーを返します
frombuffer() バッファを 1 次元配列として解釈します
fromfile() テキスト ファイルまたはバイナリ ファイル内のデータから配列を構築します
fromfunction() By 実行配列を構築するための各座標の関数
fromiter() 反復可能なオブジェクトから新しい 1 次元配列を作成します
fromstring() 文字列内のテキスト データから初期化された新しい 1 次元配列
loadtxt() テキスト ファイル データからロード
対数スケールで均一に分布した数値を返します
対数スケール (幾何級数) で均一に分布する数値を返します
座標から座標行列を返しますVector
#ogrid() を返します。
nd_grid インスタンス。開いた多次元「メッシュグリッド」を返します。
triu()
vander()
[関連する推奨事項:

以上がPythonでの配列作成の詳しい説明 NumPyチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。