Pythonライブラリnumpy基本コンテンツ研究ノート

NumPyは、Pythonの科学コンピューティングの基本パッケージです。これは、多次元配列オブジェクト、さまざまな派生オブジェクト(マスクされた配列や行列など)、および数学、論理、形状操作、並べ替え、選択、入力、出力などの高速配列操作のためのさまざまなAPIを提供するPythonライブラリです。 、離散フーリエ変換、基本的な線形代数、基本的な統計演算、ランダムシミュレーションなど。
詳細な調査については、numpyの中国のWebサイトにアクセスしてください:https://www.numpy.org.cn/

配列を作成します。

array関数を使用して、通常のPythonリストまたはタプルから配列を作成できます。結果の配列のタイプは、Pythonリストの要素のタイプから推測されます。つまり、配列要素タイプは、Pythonリストまたはタプルの要素タイプと同じです
(コードの結果はコメントに書き込まれます)

import numpy as np

#将列表转换为数组
array = np.array([[1,2,3],
                 [4,5,6]])
print(array)

#[[1 2 3]
# [4 5 6]]
array = np.array(((1,2,3),
                 (4,5,6)))
print(array)
#[[1 2 3]
# [4 5 6]]

配列要素が不明であるが、配列のサイズがわかっている場合、NumPyは、初期プレースホルダーコンテンツを含む配列を作成するためのいくつかの関数を提供します。

  1. zeros():指定した長さまたは形状のすべてのゼロの配列を作成できます
  2. ones():指定した長さまたは形状のすべての1の配列を作成できます
  3. empty():メモリの状態に応じて、初期コンテンツがランダムな配列を作成します
import numpy as np

zeroarray = np.zeros((2,3))
print(zeroarray)
#[[0. 0. 0.]
# [0. 0. 0.]]

onearray = np.ones((3,4))
print(onearray)
#[[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]

emptyarray = np.empty((3,4))
print(emptyarray)
# [[1. 1. 1. 1.]
#  [1. 1. 1. 1.]
#  [1. 1. 1. 1.]]

数値の配列を作成するために、NumPyはrangeに似た関数を提供します。これはrange関数に似ています。

import numpy as np

array = np.arange( 10, 31,5 )
print(array)
#[10 15 20 25 30]

出力アレイ情報:

import numpy as np

array = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
print(array)
# [[ 1  2  3]
#  [ 4  5  6]
#  [ 7  8  9]
#  [10 11 12]]

#数组维度
print(array.ndim)
#2

#数组形状
print(array.shape)
#(4, 3)

#数组元素个数
print(array.size)
#12

#数组元素类型
print(array.dtype)
#int32

配列の計算:

基本操作:

import numpy as np

arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = np.ones([2,3])

print(arr1 + arr2)
# [[2. 3. 4.]
#  [5. 6. 7.]]

print(arr1 - arr2)
# [[0. 1. 2.]
#  [3. 4. 5.]]

print(arr1 * arr2)
# [[1. 2. 3.]
#  [4. 5. 6.]]

print(arr2 / arr1)
# [[1.         0.5        0.33333333]
#  [0.25       0.2        0.16666667]]

print(arr1 ** 2)
# [[ 1  4  9]
#  [16 25 36]]

ここでの操作は、乗算および電力操作を含む、マトリックスの対応する要素の操作であることに注意してください。したがって、2つのマトリックスのサイズが異なる場合、エラーが発生します。

マトリックス乗算

import numpy as np

arr3 = np.array([[1,2,3],[4,5,6]])
arr4 = np.ones([3,2],dtype=np.int64)
print(np.dot(arr3,arr4))
# [[ 6  6]
#  [15 15]]

マトリックスの転置と平坦化(この中国語は簡単に説明できません...平坦化??)

import numpy as np

arr3 = np.array([[1,2,3],[4,5,6]])
arr3_tran = arr3.transpose()
print(arr3)
# [[1 2 3]
#  [4 5 6]]

print(arr3_tran)
# [[1 4]
#  [2 5]
#  [3 6]]

print(arr3.flatten())
# [1 2 3 4 5 6]

配列の索引付け、スライス、および反復

pythonの他のシーケンスタイプと同じ

import numpy as np

arr5 = np.arange(0,6).reshape([2,3])
print(arr5)
# [[0 1 2]
#  [3 4 5]]

print(arr5[1])
#[3 4 5]

print(arr5[1][2])
#5

print(arr5[1,2])
#5

print(arr5[1,:])
#[3 4 5]

print(arr5[:,1])
#[1 4]

print(arr5[1,0:2])
# [3 4]

for i in arr5:
    print(i**2)
#[0 1 4]
#[ 9 16 25]

基本的な操作はこれらに関するものですが、さらに多くのコンテンツがNumpy ChineseのWebサイトにアクセスされます:https://www.numpy.org.cn/

この記事に誤りがある場合、または内容に問題がある場合は、コメント欄でお気軽にご連絡ください〜

おすすめ

転載: blog.csdn.net/splnn/article/details/111596363