標籤:copy 磁碟 rand style array code 跨國公司 nbsp 之間
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]]) #randomeye() 根據指定邊長和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+1a*31//a(整除) a**0.5
同樣大小數組之間的運算
a+ba/ba**b
數組的索引
a[5] a2[2][3] a2[2,3] # 第幾維數組的第幾個索引,跟上面的寫法得到結果一樣數組的切片a[5:8] a[:3] = 1 # 切片的數組都賦值1a2[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量化分析相關模組