Numpy-小學筆記

numpy功能:

  • 向量和多維數組的快速運算
  • 標準數學運算
  • 線性代數運算
  • 排序,去重(unique)和集合運算
  • 統計和聚合數據

1.數組的創建
數組相當於python中的列表,但是數組中所有數據類型相同(通常爲浮點型或整型)

import numpy as np
#列表轉數組
arr = np.array([1,2,3,4,5],float)
#數組轉列表
list = arr.tolist()
arr1 = arr#同一個對象
arr2 = arr.copy()#新數組對象
#用一個值填充數組
arr.fill(255)
arr = np.random.permutation(3)###創建一個長度爲3,元素值不大於3的隨機排列的數組
#normal 函數是從正態分佈中抽取一列數
arr = np.random.normal(0,1,5)#創建一個均值爲0標準差爲1,5個元素的正態分佈數組

1

#創建一個服從均勻分佈值在0-1範圍內(不包含0或1)的 5 個元素的數組
np.random.random(5)

1

#創建一個緯度爲2,5*5的單位矩陣,其緯度用參數來制定
np.identity(5,dtype=float)

1

#創建一個第K條對角線爲1的矩陣
np.eye(3,k=1,dtype=float)

1

#全零 全1 矩陣
np.ones((2,3),dtype=float)
np.zeros(6,dtype=float)
np.zeros_like(arr)#創建一個跟現有數組類型和緯度都相同的全0數組
np.ones_like(arr)#創建一個跟現有數組類型和緯度都相同的全1數組
***********************************

1


#vstack垂直方向合併一位數組
arr1 = np.array([1,3,2])
arr2 = ap.array([3,4,5])
arr3 = np.vstack([arr1,arr2])
print(arr3)
array([[1, 3, 2],
       [3, 4, 5]])
       

1

***********************************
#創建一個符合均勻分佈的2*3型的數組
np.random.rand(2,3)
***********************************

1

#創建一個多元正態分佈
# [10,1]均值向量
# [[3,1],[1,4]]是協方差矩陣
#5 要抽取的個數
np.random.multivariate_normal([10,1],[[3,1],[1,4]],size=[5,])
***********************************

2.數組的操作

# 切片
****************************
arr = np.array([2.,3.,5.,6.])
arr[:3]
arr[3]
arr[0]=5

2.數組的操作

****************************
#unique函數
#提取數組中不同的元素
np.unique(arr)
****************************

2.數組的操作

#sort函數與argsort函數
arr 
>array([ 2.,  3., 15.,  6.])
np.sort(arr)
>array([ 2.,  3.,  6., 15.])
np.argsort(arr)#數組的索引用argsort獲取
>array([0, 1, 3, 2], dtype=int64)

2.數組的操作

*****************************
#隨機排列數組元素
#shuffle
np.random.shuffle(arr)
*****************************

2.數組的操作

#比較兩個數組是否相等,返回True or False
np.array_equal(arr,np.array([1,2,3]))
*****************************

2.數組的操作

#多維列表的操作
matrix = np.array([[4.,5.,6.],[2,3,6]],float)
martix[0,0]
martix[0,2]
#對數組的各維進行切片操作使用英文冒號:,冒號前後爲位於起始位置和結束位置的元素的索引
matrix [1:2,2:3]
>array([[6.]])
#僅用冒號不用數字表示冒號所在軸上的所有元素都在切片範圍之內
matrix [1,:]
> array([2., 3., 6.])
matrix[:,2]
> array([6., 6.])
matrix[-1:,-2:]
>array([[3., 6.]])
*************************************************************

2.數組的操作

#flatten可以將多維數組變爲一維數組:
arr = np.array([[10,29,23],[24,25,46]],float)
arr
>array([[10., 29., 23.],
       [24., 25., 46.]])
arr.flatten()
>array([10., 29., 23., 24., 25., 46.])
************************************************************

2.數組的操作

#shape屬性
arr.shape
#dtype屬性
arr.dtype
#dtype屬性類型的轉換
int_arr = matrix.astype(np.int32)
int_arr.dtype
> dtype('int32')
************************************************************

2.數組的操作

#len函數返回第一維的長度
arr = np.array([[4,5,6],[2,3,6]],float)
len(arr)
>2
*************************************************************

2.數組的操作

#關鍵字in,類似於Python中 in 的用法,可用來判斷數組是否包含某個元素
arr = np.array([[4,5,6],[1,2,3]],float)
2 in arr
>True
********************************************************

未完待續

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章