Python筆記--Numpy函數匯總

Python筆記--Numpy函數匯總

來自專欄 小鑫的數據分析筆記

  1. 數組對象ndarray

1.1 數組的創建:

# 使用array創建數組:arr = np.array([1,2,3]) --創建一維數組arr = np.array([1,2,3],[4,5,6],[7,8,9]) --創建二維數組# 使用arange創建數組arr = np.arange(0,10,1) --創建初值為0,終值為9的遞增一維數組arr = np.arange(12).reshape(3,4) --創建1-12的3行4列的二維數組# 使用linspace創建等差數組arr = np.linspace(0,10,1)# 使用logspace創建等比數組arr = np.logspace(0,2,20)# 使用zeros創建元素全為0的數組arr = np.zeros((2,3)) --創建2行3列的二維數組# 使用eye創建對角線元素為1的單位矩陣arr = np.eye(3)# 使用diag創建對角線元素為0或其他的矩陣arr = np.diag([1,2,3,4])# 使用ones創建元素全為1的數組arr = np.ones((4,3))

1.2 數組的屬性

arr.ndim --數組的維度arr.shape --數組的形狀,為n行m列arr.size --數組的元素總數arr.dtype --數組的元素類型arr.itemsize --數組每個元素的大小

1.3 數組的數據類型

bool --布爾值,True或Falseint8/in16/int32/int64 --整數float16/float32/float64 --浮點數# 數組的類型轉換np.bool(42)np.int16(42.3)np.float(42)

1.4 生成隨機數:

np.random.random(100) --生成100個0-1的隨機數np.random.rand(10,5) --生成10行5列0-1的服從均勻分布的隨機數np.random.randn(10,5) --生成正態分布的隨機數np.random.randint(2,10,size = [2,5]) --生成2行5列取值為2-10整數的隨機數

1.5 數組的索引:

# 一維數組的索引,與Python中list的索引方式一致arr[5], arr[3:5], arr[:5], arr[-1], arr[1:-1:2]--2表示隔一個元素取一個# 二維數組的索引:arr[1:,2:],各個維度的索引用逗號隔開

1.6 變換數組的形態:

# 改變數組形狀--reshapearr.reshape(3,4) 改為3行4列# 使用ravel展平數組--橫向展平arr.ravel()# 使用flatten橫向或縱向展平數組arr.flatten() ---橫向展平arr.flatten(F) ---縱向展平# 數組橫向組合--hstack()np.hstack((arr1,arr2))# 數組的縱向組合 --vstack()np.vstack((arr1,arr2))# 數組的橫向分割--hsplitnp.hsplit(arr,2)# 數組的縱向分割--vsplitnp.vsplit(arr,2)

2. Numpy矩陣和通用函數

2.1 常用的ufunc函數運算

# 數組的四則運算:x = np.array([1,2,3])y = np.array([4,5,6])x + yx - yx * yx / yx ** y# 數組之間的比較x < yx > yx == yx != y --輸出為bool值

2.2 對數組進行簡單的統計分析

# 對數組繼續排序arr.sort(axis =1) --沿著橫軸排序arr.sort(axis =0) --沿著縱軸排序# 對數組進行去重np.unique(arr)# 數組的重複--tilenp.tile(arr,3)# 數組中每個元素進行重複--repeatarr.repeat(2,axis=0)--按行進行元素重複arr.repeat(2,axis=1)--按列繼續元素重複# 常用的統計函數sum()max()min()mean()std()var()cumsum() --累計和cumprod --累計積

推薦閱讀:

Python數據分析(一)
數據分析(1)-Python基礎
How to use R doing PCA for GWAS
Hello world! 數據分析我來了
R語言實戰—02-創建數據集

TAG:Python | 數據分析 | 數據分析師 |