1. 程式人生 > 實用技巧 >Numpy的一些學習記錄

Numpy的一些學習記錄

Numpy的一些記錄

產生numpy.array的方式

import numpy as np
arr1 = np.array([1, 2, 3])
print(arr1)
arr2 = np.zeros(3)
print(arr2)
arr3 = np.ones(3)
print(arr3)
arr4 = np.random.randint(1, 10, 3)
print(arr4)
arr5 = np.arange(3)
print(arr5)
arr6 = np.linspace(1, 3, 3)
print(arr6)

產生隨機數陣列

import numpy as np

# 產生隨機整數arr
arr1 = np.random.randint(1, 100, 10) # 從 [1, 100)的區間內,取10個整數
# 隨機產生小數arr
arr2 = np.random.random(10) # 從[0, 1)之間產生10個小數
# 通過洗牌函式shuffle
arr3 = np.arang(10)
np.random.shuffle(arr3) # 傳入np.arr或者list,並對其進行打亂,返回None

結果如下所示:

[51 66 69 10 59 62 42 10 66 38]
[0.36556901 0.00594538 0.96820174 0.15049347 0.17797086 0.0837191
 0.64086666 0.27320334 0.4595817  0.19450983]
[5 2 7 9 3 6 8 4 0 1]

一些數學函式

import numpy as np

# min,max,sum,mean
a = np.arange(10)
print(np.max(a))
print(np.min(a))
print(np.mean(a))
print(np.sum(a))

# sin,cos,tan,arccos...三角函式
print(np.sin(a))
print(np.cos(a))
print(np.tan(a))

# exp,exp2,sqrt,floor,ceil...
print(np.exp(a))
print(np.exp2(a))
print(np.sqrt(a))

邏輯運算子

import numpy as np

# logical_or,logical_and,logical_not,logical_xor
a = np.array([0, 0, 0])
b = np.array([1, 1, 0])
print(np.logical_and(a, b))
print(np.logical_or(a, b))
print(np.logical_not(b))
print(np.logical_xor(a, b))

結果:

[False False False]
[ True  True False]
[False False  True]
[ True  True False]

一些新奇的用法

可以對True做加法求和(不過好像是Python的緣故,而不是numpy的)

import numpy as np

a = np.arange(5)
res = a <= 2
print(np.sum(res))
print(True == 1)

'''
3
True
'''