前端匯出excel(三----基於Blob.js和 Export2Excel.js做前端匯出)
阿新 • • 發佈:2020-07-20
前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理。
作者:基因學苑
NumPy(Numerical Python的簡稱)是高效能科學計算和資料分析的基礎包。NumPy最重要的一個特點就是其N維陣列物件(即ndarray),該物件是一個快速而靈活的大資料集容器。新手可能不理解這句話的含義,這個需要慢慢去理解 。總之,知道numpy是python資料分析最重要的基礎包就可以了。有了numpy才可以利用這種陣列對整塊資料執行一些數學運算,比python自帶的陣列以及元組效率更高,其語法跟變數元素之間的運算一樣,無需進行迴圈操作。
為什麼需要numpy
python預設進行多個數據的計算,是使用迴圈,如果迴圈次數多,就非常耗時。舉個簡單的案例,我們要計算100000個隨機數的值,如果傳統程式設計需要寫迴圈,用了2.2s,而使用numpy資料結構,則可以進行向量化操作,無需迴圈,只需要28.2ms節約大量時間。
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
如何生成ndarray
numpy的核心是ndarray(n-dimensional array),多維陣列。所謂資料就是同一型別資料的集合,比如1000個數字構成一個數組,1000個字元也構成一個數組。numpy包含很多函式,可以將python資料結構很容易轉換為numpy的ndarray。
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
比較傳統列表陣列與ndarray的區別
a=[1,2,3,4,5] b=np.array([1,2,3,4,5]) a+1 b+1 a*10 b*10
NumPy常用函式
numpy有很多函式,其中使用numpy比較多的功能是利用其生產數字,比如隨機數,正太分佈,等差數列等。
# 使用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)#建立1-12的3行4列的二維陣列 arr = np.arange(12).reshape(3,4) # random生成隨機數 #生成隨機數種子 np.random.seed(1234) #randn 產生正太分佈樣本 np.random.randn(1000) #隨機生成整數資料集 np.random.randint(size=1000,low=1,high=1000)
數學計算函式
numpy內建了很多計算的函式,可以進行很多數學,輸入資料是一個ndarray即可。
# 使用array建立陣列 #x是一個包含1000個隨機正整數的集合,取值範圍從1~1000。 x=np.random.randint(size=1000,low=1,high=1000) #輸出x x #進行集合的求和,平均值,方差,標準差等計算 np.sum(x) np.mean(x) np.var(x) np.std(x) np.min(x) np.max(x) np.argmin(x) np.argmax(x) np.cumsum(x) np.cumprod(x)
計算機效能測試
下面做一個有意思的計算機效能測試,隨機生成一個大的資料集,看你的計算機能計算多少位,這個和記憶體有關係。
#生成100萬個數值進行計算 x=np.random.randint(size=1000000,low=1,high=1000) np.sum(x) #生成1000萬個數值進行計算 x=np.random.randint(size=10000000,low=1,high=1000) np.sum(x) #生成1億個數值進行計算 x=np.random.randint(size=100000000,low=1,high=1000) np.sum(x) #如果覺得自己計算機效能不錯,可以計算挑戰