[python]numpy基礎定理
人工知能の授業を受けたとき、numpyが得意だと思っていましたが...私の問題がうまく解決できずにずっとグーグルゲームをしている様子を見て、いっそこの機会に内容を整理すればいいのです.numpy基礎定理
通常numpyにも同じ機能があり、リストを初期化するときに空の配列を作成したり、0を初期化したりするのと同じです.次にnumpyの例を示します.
リストのようにスライスを提供します.
連続した数値を出力するためにnumpyはarangge関数を提供する.
numpy arangが浮動小数点パラメータとともに使用される場合、要素に含まれる数値は予測できません.この場合linspaceが使用されます.
同様に、matplotlibを使用してグラフを描きます.これは次の章で説明します.
他のマトリクス言語とは異なりnumpyは要素中心の演算を行うことができる.
オーバーフローはsin、cos、expなど、よく知られている数学関数を提供します.
これらの関数を汎用関数と呼びます.
numpy初期化関数
通常numpyにも同じ機能があり、リストを初期化するときに空の配列を作成したり、0を初期化したりするのと同じです.次にnumpyの例を示します.
import numpy as np
a = np.zeros((2,2)) #괄호 안에는 차원의 수가 들어간다.
print(a)
a = np.ones((2, 3)) #괄호 안에는 차원의 수가 들어간다.
print(a)
a = np.full((4, 3), 5)
print(a)
a = np.array(range(12)).reshape((3,4))
print(a)
numpy slicing
リストのようにスライスを提供します.
import numpy as np
lst = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
narray = np.array(lst) #list를 np array로 바꿀 수 있다.
a = narray[0:2, 0:3]
print(a) #0~1행 0~2 열
a = narray[1:, 1:] #1번 행부터, 1번 열부터 끝까지
print(a)
実行結果[[1 2 3]
[4 5 6]]
[[5 6]
[8 9]]
numpy arange
連続した数値を出力するためにnumpyはarangge関数を提供する.
a= np.arange(10, 30, 5)
print(a)
b = np.arange(0, 2, 0.3)
print(b)
実行結果[10 15 20 25]
[0. 0.3 0.6 0.9 1.2 1.5 1.8]
linspace
numpy arangが浮動小数点パラメータとともに使用される場合、要素に含まれる数値は予測できません.この場合linspaceが使用されます.
from numpy import pi
from matplotlib import pyplot as plt
a = np.linspace(0, 2, 9)
print(a)
x = np.linspace(0, 2*pi, 100)
f = np.sin(x)
print(f)
plt.plot(f)
plt.show()
実行結果同様に、matplotlibを使用してグラフを描きます.これは次の章で説明します.
Basic Operations
他のマトリクス言語とは異なりnumpyは要素中心の演算を行うことができる.
a = np.array([20, 30, 40, 50])
b = np.arange(4)
print(b)
c = a - b
print(c)
print(b**2)
print(10*np.sin(a))
print(a < 35)
[0 1 2 3]
[20 29 38 47]
[0 1 4 9]
[ 9.12945251 -9.88031624 7.4511316 -2.62374854]
[ True True False False]
他の一般的なマトリクス言語とは異なり、numpyマトリクスは乗算演算子で計算でき、ブロードキャスト可能なdot関数もあります.A = np.array([[1, 1],
[2, 2]])
B = np.array([[2, 0],
[3, 4]])
print(A*B) # elementwise product
print(A@B) # matrix product
B = np.array([2, 0])
print(A.dot(B)) # matrix product with broadcasting
実行結果[[2 0]
[6 8]]
[[ 5 4]
[10 8]]
[2 4]
基本的に、これらの演算は配列の形状とは無関係です.b = np.arange(12).reshape(3, 4) #차원의 수와 range 수가 맞아떨어져야한다.
print(b)
'''[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]'''
print(b.sum(axis=0))
'''
[12 15 18 21]
'''
Universal Functions
オーバーフローはsin、cos、expなど、よく知られている数学関数を提供します.
これらの関数を汎用関数と呼びます.
B = np.arange(3)
print(B)
#[0 1 2]
print(np.exp(B))
#[1. 2.71828183 7.3890561 ]
print(np.sqrt(B))
#[0. 1. 1.41421356]
C = np.array([.2, .3, .5])
print(np.add(B,C))
#[0.2 1.3 2.5]
Reference
この問題について([python]numpy基礎定理), 我々は、より多くの情報をここで見つけました https://velog.io/@easttwave/Python-numpy-기초-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol