1. 程式人生 > >python量化分析相關模塊

python量化分析相關模塊

c、c++ sha 高性能 隨機數生成 整除 映射文件 align nump 浮點

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量化分析相關模塊