1. 程式人生 > >機器學習三劍客之Numpy庫基本操作

機器學習三劍客之Numpy庫基本操作

三劍客 數學 轉換 反向 python語言 一維數組 stack 框架 運算

NumPy是Python語言的一個擴充程序庫。支持高級大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。Numpy內部解除了Python的PIL(全局解釋器鎖),運算效率極好,是大量機器學習框架的基礎庫!

安裝命令為:pip install numpy

編輯器中具體代碼如下:

#導入numpy 庫 import numpy as np

#打印版本號 # print(np.version.version)
#聲明一個numpy 一維數組 nlist = np.array([1,2,3]) print(nlist)
#ndim方法用來查看數組維度 print(nlist.ndim)
print(‘==================‘)
#聲明一個二維數組 nlist_2 = np.array([[1,2,3,4],[4,5,6,7]]) print(nlist_2) print(nlist_2.ndim)
print(‘==================‘)
#使用shape 屬性打印多維數組得形狀 print(nlist.shape) print(nlist_2.shape)
print(‘==================‘)
#使用size方法來打印多維數組得元素個數 print(np.size(nlist)) print(np.size(nlist_2))
print(‘==================‘)
#打印numpy多維數組得數據類型 #打印普通list print(type([1,2,3])) print(type(nlist))
print(‘==================‘)
#使用dtype屬性來打印多維數組內部元素得數據類型 print(type(123)) print(nlist.dtype)
print(‘==================22222222222‘)
#itemsize屬性,來打印多維數組中得數據類型大小,字節 print(nlist.itemsize) print(‘==================11111‘)
#data屬性,用來打印數據緩沖區 buffer print(nlist.data)
print(‘==================‘)
#聲明三維數組 nlist_3 = np.array([[[1,2,3],[4,5,6],[7,8,9,]]]) print(nlist_3.ndim)
print(‘==================‘)
#使用reshape方法來反向生成多維數組 nlist_4 = np.array(range(32)).reshape(4,2,2,2) print(nlist_4) print(nlist_4.ndim) print(‘==================‘)
#使用浮點作為元素類型 nlist_float = np.array([1.0,2.0,3.0]) print(nlist_float.dtype)
print(‘==================‘)
#使用字符串 nlist_string = np.array([‘1‘,‘2‘,‘3‘]) print(nlist_string.dtype)
print(‘==================‘)


#使用ones方法 自動生成元素為1 的所謂數組
nlist_ones = np.ones((4,4)) print(nlist_ones) print((nlist_ones.dtype))
print(‘==================‘)
#使用zero來生成元素為0的數組 nlist_zeros = np.zeros((4,4)) print((nlist_zeros)) print(nlist_zeros.dtype)
print(‘==================‘)
#使用 empty 生成多維隨機數組,使用第二個參數指定數據類型
nlist_empty = np.empty([2,2],dtype=np.int) print((nlist_empty)) print(nlist_empty.dtype) print((nlist_empty.ndim)) print(‘==================‘)
#把普通list轉換為數組 x = [1,2,3] x = [(1,2,3),(4,5)] print(type(x)) nlist = np.asarray(x) print(type(nlist)) print(nlist.ndim) print(nlist.shape)
print(‘==================‘)
# frombuffer 通過字符串(buffer內存地址)切片來生成多維數組
my_str = b‘hello world‘ nlist_str = np.frombuffer(my_str,dtype=‘S1‘) print(nlist_str)
print(‘==================‘)

x = np.array([[1,2],[3,4]]) print(x)

#指定axis屬性可以指定當前多維數組的維度 sum是跨維度列級求和 sum0 = np.sum(x,axis=0,keepdims=True) # axis=0 是跨維度列級相加 print(sum0) sum1 = np.sum(x,axis=1,keepdims=True) # axis = 跨維度行級相加 print(sum1)
print(‘==================‘)
#多維數組賦值 根據列表下標原理 y = np.array([1,2]) z = y.copy() y[0] = 3 y[1] = 3 print(z)
print(‘==================‘)
#維度級的運算 a = np.array([[1,2],[3,4],[5,6]]) b = np.array([[11,21],[13,41],[15,61]])
#vasack方法 (添加) suma = np.vstack((a,b)) print(suma)
#hstack方法(混和)
sumb = np.hstack((a,b)) print(sumb)
print(‘==================222222222222222‘)
#多維數組調用 nlist = np.array([[1,2],[3,4],[5,6]]) #取元素4 print(nlist[1][1]) #第二種寫法 print(nlist[1,1]) #修改 nlist[2,1] = 7 print(nlist)
#刪除方法 delete # 刪除nlist 第二行 print(‘==================‘)
print(np.delete(nlist,1,axis=0)) print(np.delete(nlist,0,axis=1))

機器學習三劍客之Numpy庫基本操作