Python讀取CSV文件并計算某一列的均值和方差
近日需要對excel的csv文件進行處理,求取某銀行歷年股價的均值方差等一系列數(shù)據(jù)
文件的構成很簡單,部分如下所示
總共有接近七千行數(shù)據(jù),主要的工作就是將其中的股價數(shù)據(jù)提取出來,放入一個數(shù)組之中,然后利用numpy模塊即可求出需要的數(shù)據(jù)。
這里利用了csv模塊來對文件進行處理,最終實現(xiàn)的代碼如下:
import csv import numpy as np with open('pingan_stock.csv') as csv_file: row = csv.reader(csv_file, delimiter=',') next(row) # 讀取首行 price = [] # 建立一個數(shù)組來存儲股價數(shù)據(jù) # 讀取除首行之后每一行的第二列數(shù)據(jù),并將其加入到數(shù)組price之中 for r in row: price.append(float(r[1])) # 將字符串數(shù)據(jù)轉化為浮點型加入到數(shù)組之中 print(np.var(price)) # 輸出均值 print(np.mean(price)) # 輸出方差
首先利用csv的reader方法,其中delimiter可有可無,它是一個分隔符,原本的值就是逗號,所以加不加無所謂
reader返回的是一個可以迭代的對象,需要使用for循環(huán)遍歷,row的部分輸出值如下:
next(row)的作用是讀取第一個列表,也就是['year','price'],因為后面的代碼中要將字符型的數(shù)據(jù)轉化為浮點型,便于最后的計算,所以這句代碼必須加上,否則在轉換時就會報錯,在對row進行遍歷時,r[1]表示每一行的第二個數(shù)據(jù),利用append將每一行的第二列數(shù)據(jù)存入數(shù)組之中,當遍歷完成時,第二列的所有數(shù)據(jù)就成功存入了price數(shù)組中,并且都是浮點型的數(shù)據(jù),得到了這個數(shù)組就算是大功告成了,最后利用numpy模塊的mean和var分別計算出均值和方差。
到此這篇關于利用Python讀取CSV文件并計算某一列的均值和方差的文章就介紹到這了,更多相關Python讀取CSV文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python之數(shù)據(jù)序列化(json、pickle、shelve)
本篇文章主要介紹了Python之數(shù)據(jù)序列化,本節(jié)要介紹的就是Python內(nèi)置的幾個用于進行數(shù)據(jù)序列化的模塊,有興趣的可以了解一下。2017-03-03