人工智慧之陣列操作
陣列操作(python中numpy庫)
建立陣列
1.使用單一值建立陣列:zeros()建立全0的陣列,ones()建立全1的陣列,full()建立一個數組,指定元素,indentity()建立一個方陣,主對角線全為1,eye()建立一個m*n的陣列主對角線的元素是1
2.從現有的資料初始化陣列:numpy.array()可以建立一,二維的陣列 ,numpy.diag([1,2,3,5])指定主對角線元素建立對角矩陣
3.將指定數值範圍切分成若干份,形成陣列:
numpy.arange() numpy.linspace(0,3,5)[0,3]5個等分點,分成4份,預設包含終結點(endpoint) ,生成網格資料點:meshgrid()
4.陣列的引用和拷貝:
numpy.copyto(b,a) , b = numpy.copy(a)
陣列的修改操作
1陣列維度的變換:a = numpy.array([[1,2,3],[4,5,6],[7,8,9]]),len(a),a.shape
a.reshape((3,3)),行陣列和列陣列之間的變換,
二維陣列展開成連續的一維陣列:ravel flatten(拷貝)
陣列的重置:resize(a,(5,2))
2.陣列的組合 拼接及拆分:
豎直方向 concatenate(,axis=0) vstack
水平方向 concatenate(,axis=1) hstack
陣列的拆分:豎直spilt(v) 水平split(h)
3.陣列的修改元素
delete insert append這些其實都差不多 如果直接操作二維陣列轉換為一維 ,如果是二維陣列,分為行列進行操作
r_ (行操作上下相加) c_(列操作左右相加)
查詢、排序、統計
1檢索符合條件的元素:nonzero()查詢非零元素,利用花式索引找元素
2陣列的排序:sort()
3.陣列的統計:查詢一維陣列中的最大,最小值max(),min(),返回索引:argmax(),平均數:mean(),加權平均:average()