python量化分析相關模塊
阿新 • • 發佈:2017-08-30
c、c++ sha 高性能 隨機數生成 整除 映射文件 align nump 浮點
ndarray還可以是多維數組,但元素類型必須相同
常用屬性:
Numpy
NumPy是高性能科學計算和數據分析的基礎包。它是pandas等其他各種工具的基礎。
NumPy的主要功能:
ndarray,一個多維數組結構,高效且節省空間
無需循環對整組數據進行快速運算的數學函數
讀寫磁盤數據的工具以及用於操作內存映射文件的工具
線性代數、隨機數生成和傅裏葉變換功能
用於集成C、C++等代碼的工具
安裝方法:pip install numpy
引用方式:import numpy as np
創建ndarray:np.array()
應用場景:
例1:已知若幹家跨國公司的市值(美元),將其換算為人民幣
例2:已知購物車中每件商品的價格與商品件數,求總金額
ndarray還可以是多維數組,但元素類型必須相同
常用屬性:
T 數組的轉置(對高維數組而言)
dtype 數組元素的數據類型
size 數組元素的個數
ndim 數組的維數
shape 數組的維度大小(以元組形式)
dtype:
bool_, int(8,16,32,64), uint(8,16,32,64), float(16,32,64)
類型轉換:astype()
創建ndarray:
array() 將列表轉換為數組,可選擇顯式指定dtype >>> np.array([1, 2, 3]) array([1, 2, 3]) arange() range的numpy版,支持浮點數 >>> np.arange(3.0) array([ 0., 1., 2.]) linspace() 類似arange(),第三個參數為數組長度 >>> np.linspace(2.0, 3.0, num=5) array([ 2. , 2.25, 2.5 , 2.75, 3. ]) zeros() 根據指定形狀和dtype創建全0數組 >>> np.zeros((2, 1)) array([[ 0.], [ 0.]]) ones() 根據指定形狀和dtype創建全1數組 np.ones((2, 1)) array([[ 1.], [ 1.]]) empty() 根據指定形狀和dtype創建空數組(隨機值) np.empty([2, 2], dtype=int) array([[-1073741821, -1067949133], [ 496041986, 19249760]]) #random eye() 根據指定邊長和dtype創建單位矩陣 >>> np.eye(2, dtype=int) array([[1, 0], [0, 1]]) reshape() 分解,合並 >>> a = np.array([[1,2,3], [4,5,6]]) >>> np.reshape(a, 6) array([1, 2, 3, 4, 5, 6]) >>> np.reshape(a, (3,-1)) array([[1, 2], [3, 4], [5, 6]])
數組和標量之間的運算
a+1 a*3 1//a(整除) a**0.5
同樣大小數組之間的運算
a+b a/b a**b
數組的索引
a[5] a2[2][3] a2[2,3] # 第幾維數組的第幾個索引,跟上面的寫法得到結果一樣 數組的切片 a[5:8] a[:3] = 1 # 切片的數組都賦值1 a2[1:2, :4] # 第二個數組,0到3的索引 a2[:,:1] # 所有數組,索引為0的值 a2[:,1] # 所有數組,索引為1的值 與列表不同,數組切片時並不會自動復制,在切片數組上的修改會影響原數組。 b = a[:4] b[-1] = 250 【解決方法:copy()】# 這樣b是一個新的內存地址 b = a[:4].copy() b[-1] = 250
python量化分析相關模塊