近日須要對excel的csv文件進行處理,求取某銀行歷年股價的均值方差等一系列數據html
文件的構成很簡單,部分以下所示數組
總共有接近七千行數據,主要的工做就是將其中的股價數據提取出來,放入一個數組之中,而後利用numpy模塊便可求出須要的數據。app
這裏利用了csv模塊來對文件進行處理,最終實現的代碼以下:spa
import csv import numpy as np with open('pingan_stock.csv') as csv_file: row = csv.reader(csv_file, delimiter=',') next(row) # 讀取首行 price = [] # 創建一個數組來存儲股價數據 # 讀取除首行以後每一行的第二列數據,並將其加入到數組price之中 for r in row: price.append(float(r[1])) # 將字符串數據轉化爲浮點型加入到數組之中 print(np.var(price)) # 輸出均值 print(np.mean(price)) # 輸出方差
首先利用csv的reader方法,其中delimiter無關緊要,它是一個分隔符,本來的值就是逗號,因此加不加無所謂excel
reader返回的是一個能夠迭代的對象,須要使用for循環遍歷,row的部分輸出值以下:code
next(row)的做用是讀取第一個列表,也就是['year','price'],由於後面的代碼中要將字符型的數據轉化爲浮點型,便於最後的計算,因此這句代碼必須加上,不然在轉換時就會報錯,在對row進行遍歷時,r[1]表示每一行的第二個數據,利用append將每一行的第二列數據存入數組之中,當遍歷完成時,第二列的全部數據就成功存入了price數組中,而且都是浮點型的數據,獲得了這個數組就算是大功告成了,最後利用numpy模塊的mean和var分別計算出均值和方差。htm
原文出處:https://www.cnblogs.com/ZhangWj-/p/12361504.html對象