Numpy
2861 ワード
Numpy
なぜ
-リストは様々な資料型の要素であってもよく、np配列(endarray)は1つの資料型の要素でしかない.
-numpyはlistとは異なります.演算できるからです.
-npアレイは、ソースファイルを直接置き換えることでメモリ効率を向上
①array関数の使用
②ランダムモジュールの使用
③arange関数の使用
Ex.1 array関数の使用
```
import numpy as np
#--------------------------
a = [1, 2, 3, 4]
b = [4, 5, 6, 7]
#--------------------------
numpy_a = np.array(a)
numpy_b = np.array(b)
#--------------------------
sum_ = numpy_a + numpy_b
sum_ # [5 7 9 11] .. 쉼표 없음 주의
type(sum_) #numpy.ndarray
```
Ex.②ランダムモジュールの使用```
import numpy as np
#--------------------------
a = np.random.rand(5) # 0 < n < 1 사이의 수 5개 random하게
b = np.random.randint(1, 10, 5) # 1 <= n < 10 사이의 정수 5개
c = np.random.randn(10) # 정규분포에 해당하는 값 10개
d = np.random.randn(3, 5) # 정규분포에 해당하는 값을 3행 5열 Matrix
e = np.random.randint(1, 10, (3, 5)) # 1 <= n < 10 사이의 수 3행 5열 Matrix
```
①Zeros関数の使用:0に初期化、実数型
②ones関数の使用:実数型に初期化
③yee(n)関数を使う:n*n二次元配列、対角線部分を1にする
④arange関数の使用
Ex.①Zeros関数の使用
```
az = np.zeros(10)
az # [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
```
Ex.②ones関数の使用```
ao = np.ones(10)
ao # [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
```
Ex.③eye(n)関数の使用```
ae = np.eye(3)
ae # [[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
```
Ex.④arange関数を使用```
a = np.arange(10) #array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(3, 7) #array([3, 4, 5, 6])
c = np.arange(0.1, 1.1, 0.1) # start = 0.1, end = 1.1(not included), step = 0.1
```
Ex. etc.... ```
# 0과 1외의 다른 수로 초기화하기
ao7 = np.ones(10) * 7 #[7. 7. 7. 7. 7. 7. 7. 7. 7. 7.]
az11 = np.zeros(10) + 11 #[11. 11. 11. 11. 11. 11. 11. 11. 11. 11.]
af = np.full((7, 5), 23) #7 * 5 Matrix를 23으로 초기화
```
①ndim:ndarrayの次元を表す
②shape:法線の大きさを釘で表す
③size:カレンダー内の要素の総数
④dtype:ndarrayのデータ型
⑤T:カレンダーの行と列を変更する
⑥ reshape()/type()/astype()
Ex.
```
arr1 = np.array([1.0, 2, 3],
[4, 5, 6]], dtype = np.int32)
# -------- 함수 --------
print(np.ndim(arr1)) # 2
print(np.shape(arr1)) # (2, 3)
# -------- 속성 --------
print(arr1.ndim) # 2
print(arr1.shape) # (2, 3)
print(arr1.size) # 6
print(arr1.dtype) # int32
# ---------------------
arr1_1 = arr1.astype(np.float32) #ndarray안에 있는 모든 요소들의 데이터 타입을 한번에 바꿔줘
arr_r = np.arange(32).reshape(4, 8) #4 * 8 Matrix로 reshpae
```
Reference
この問題について(Numpy), 我々は、より多くの情報をここで見つけました https://velog.io/@choijungp/Numpyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol