前言
現在到了練習NumPy的最後一天,現在要開始跟資料分析的流程接軌
所以我決定從網路上的開源資料找題庫練習!
今天的練習涵蓋兩個部分:
陣列的數學運算
基礎運算(加、減、乘、除、次方)
#先創一個一維陣列
a = np.array([1,2,3,4])
a
'''array([1, 2, 3, 4])'''
# calaulations
print("+ :", a+2) #a+=2
print("- :", a-2)
print("* :", a*2)
print("/ :", a/2)
print("** :",a**2)
'''
+ : [3 4 5 6]
- : [-1 0 1 2]
* : [2 4 6 8]
/ : [0.5 1. 1.5 2. ]
** : [ 1 4 9 16]
'''
也可以使用在多個同樣形狀的矩陣
b = np.array([1,55,1,55])
print("+ :", a+b) #也等同於 a+=2
print("- :", a-b)
print("* :", a*b)
print("/ :", a/b)
'''
+ : [ 2 57 4 59]
- : [ 0 -53 2 -51]
* : [ 1 110 3 220]
/ : [1. 0.03636364 3. 0.07272727]
'''
sin, cos : np.sin( ) , np.cos( )
print(np.sin(a))
print(np.cos(a))
'''
[ 0.84147098 0.90929743 0.14112001 -0.7568025 ]
[ 0.54030231 -0.41614684 -0.9899925 -0.65364362]
'''
簡單線性代數:
a = np.ones((2,3))
print(a)
print("------")
b = np.full((3,2),2)
print(b)
print("------")
# matrix multiply function(.matmul(matrix1, matrix2))
print(np.matmul(a,b)) #也可以使用print(a.dot(b))
'''
[[1. 1. 1.]
[1. 1. 1.]]
------
[[2 2]
[2 2]
[2 2]]
------
[[6. 6.]
[6. 6.]]
'''
基礎統計:
#先創一個一維陣列
stats = np.array([[1,2,3],[4,5,6]])
print(stats)
'''
array([[1, 2, 3],
[4, 5, 6]])
'''
# 平均值,最大值,最小值
print("min:",np.min(stats))#會取得整個矩陣的最小值
'''1 '''
# 若是想取得每個row的最小值
print("row basis:",np.min(stats, axis=1))
'''row basis: [1 4]'''
# 同樣的方法操作在最大值一次
print("max:", np.max(stats)) #若不指定軸度,將會是整個矩陣的最大值
print("column basis:", np.max(stats, axis=0)) #沿著column取最大值
'''
max: 6
column basis: [4 5 6]
'''
#計算總和
np.sum(stats,axis=1)
'''array([ 6, 15])'''
# sums up by column
np.sum(stats, axis=0)
'''array([5, 7, 9])'''
沿著每個row計算:axis = 1
沿著每個column計算:axis = 0
NumPy應用
今天的題庫是利用這個網站上的題庫
101 Numpy Exercises for Data Analysis
結語
因為之後的學習歷程上都會需要使用到NumPy
現在把基礎打好非常重要
NumPy還有很多運算功能跟語法
可以在NumPy的官網上查到
之後要往Pandas的統計分析,Matplotlib作圖前進!