numpy学习记录
import numpy as np
###numpy的創建以及基礎運算
#a = np.array([10,20,30,40])
# a = np.array([[1,2],[3,4]])
# b = np.arange(4).reshape(2,2)
# print(a.dot(b))
# print(a, b)
#c = a * b#逐個相乘
#c = np.dot(a, b)#矩陣相乘
#c = b ** 2#c = np.sin(a)
#print(c)# a = np.random.random((2,2, 2))
# print(a)
# # print(np.sum(a))
# # print(np.min(a))
# # print(np.max(a))
# print(np.max(a,axis=1))###numpy的基礎運算
# A = np.arange(2,14).reshape(3,4)
# print(A)
# print(np.argmin(A))#輸出最小值索引
# print(np.argmax(A))
# print(np.mean(A))
# print(A.mean())
# print(np.average(A))
# print(np.median(A))#輸出中位數
# print(np.cumsum(A))#逐步累加,前n項和
# print(np.diff(A))#兩兩相減
# print(np.nonzero(A))#輸出非零數的坐標(行列分開輸出)
# print(np.sort(A))#逐行排序,不是整體排序
# print(np.transpose(A))#矩陣的轉置,非常重要
# print((A.T).dot(A))#矩陣的轉置,非常重要
# print(np.clip(A, 5, 9))#小于5的等于5, 大于9的等于9,中間的不變
# print(np.mean(A,axis = 0))#0代表列,1代表行###numpy的索引
# A = np.arange(3, 15).reshape(3, 4)
# print(A)
# print(A[2])#索引出整行
# print(A[1][1])#類似c的數組索引
# print(A[1, 1])#同上
# print(A[2, :])#切片,取出整行
# print(A[2, 0:2])
# for column in A.T:#無法直接迭代列,轉置后可以迭代到
# print(column)
# print(A.flatten())#改變數組結構
# for item in A.flat:#返回一個迭代器
# print(item)###numpy的array合并
# A = np.array([1,1,1])[:, np.newaxis]#在后面增加一個維度,所以結構是3,1, 若在前面則是1, 3
# B = np.array([2,2,2])[:, np.newaxis]
# # C = np.vstack((A, B))
# # D = np.hstack((A, B))#進行左右合并
# # print(np.vstack((A, B)))#對數組進行上下的合并,注意要求參數是元組
# # print(A.shape, C.shape)
# # print(D.shape)
# #print(A.T)#序列無法轉置
# # print(A[:,np.newaxis].shape)#增加了一個維度,現在可以轉置了
# # print(B[:,np.newaxis].shape)
# print(A)
# print(B)
# C = np.concatenate((A, B, B, A), axis = 0)#被合并的維度必須大于1, 可以進行多個array的合并,0表示合并的維度
# print(C)
# C = np.concatenate((A,B), axis = 1)
# print(C)###numpy array的分割
# A = np.arange(12).reshape(3, 4)
# print(A)
# print()
# # print(np.split(A,3, axis=0))#0是按列分成3行
# #print(np.array_split(A, 3, axis = 1))#不等分割
# print(np.vsplit(A, 3))#按照縱向分割
# print(np.hsplit(A, 2))#按照橫向分割###numpy的賦值
# a = np.array([0, 1, 2, 3])#默認都是整型
# # b = a
# # c = a
# # d = b
# # a[0] = 11#改變a, b與c都會變;d也完全等于a。都指向同一個對象
# # print(a)
# # print(b is a)
# # print(d is a)
# b = a.copy()#deep copy不會關聯,不會互相影響
# a[3] = 44
# print(b)
總結
- 上一篇: CPA相关功耗分析(二)
- 下一篇: C++(三)——类和对象(上)