Numpy學習筆記(1)

江先生發表於2018-01-16
人生苦短,我用Python

#使用numpy構建矩陣
'''
陣列的建立可以使用numpy模組中的array函式實現,一維陣列只需要傳入一個列表或元組,
二維陣列則是傳入巢狀的列表或元組
'''
import numpy as np
import math
array1=np.array([1,2,3,4,5,6,7])
print(array1)   #will return:[1 2 3 4 5 6 7]

array2=np.array((12,1,13,14,16))
print(array2)   #will return:[12  1 13 14 16]

array3=np.array([[2,3,4,5],[7,8,9,10],[2,6,7,9]])
print(array3)
'''
[[ 2  3  4  5]
 [ 7  8  9 10]
 [ 2  6  7  9]]
'''

#返回行數和列數
print(array3.shape) #返回(3,4)代表3行4列

#元素的獲取
print(array3[:,2])  #獲取二維陣列的第三列,return:[4 9 7]

print(array3[1,:])  #獲取二維陣列的第二列,return:[ 7  8  9 10]

print(array3[2,3])  #獲取第三行第四列的元素

print(array3[[0,2],:])  #獲取二維陣列的第一行和第二行
'''
[[2 3 4 5]
 [2 6 7 9]]
'''

print(array3[:,[0,1,3]])    #獲取二維陣列的第一列,第二列,第四列
'''
[[ 2  3  5]
 [ 7  8 10]
 [ 2  6  9]]
'''

print(array3[[0,2],[2,3]])  #獲取第一行、第三列元素,第三行、第四列元素,return:[4 9]

print(array3[[0,2],:][:,[2,3]])
print(array3[np.ix_([0,2],[2,3])])
'''
[[4 5]
 [7 9]]
'''

#取絕對值
print(np.abs(-3))   #return:3
print(np.fabs(-3))  #return:3.0

#算術平方根
print(np.sqrt(5))   #return:2.2360679775

print(np.exp(2))    #指數return:7.38905609893

print(np.sqrt(4))   #算術平方根return:2.0

print(np.log2(4))   #以2為底4的對數,return:2.0
print('*********')
print(np.log10(10)) #以10為底10的對數,return:1.0
print('*********')
print(np.log(4))    #return:1.38629436112

#符號函式(大於0的數返回1、小於0的數返回-1、0返回0值)
print(np.sign(0))   #return:0
print('*********')
print(np.sign(2))   #return:1
print('*********')
print(np.sign(-2))  #return:-1

print(np.ceil(2.34))    #向上取整return:3.0
print(np.ceil(-2.34))   #向上取整return:-2.0

print(np.floor(2.34))       #向下取整return:2.0
print(np.floor(-2.34))      #向下取整return:-3.0

#返回最近的整數
print(np.rint(2.34))        #return:2.0

#判斷是否缺失
print(np.isnan(2))          #return:true

#判斷是否有限
print(np.isfinite(math.pi)) #return:True
print(np.isfinite(2))       #return:True

#判斷是否無限
print(np.isinf(2))          #return:False

#冪運算
print(np.power(2,3))        #return:8,即2的3次方

#餘數
print(np.mod(17,5))         #return:2複製程式碼



相關文章