利用Python讀取CSV文件並計算某一列的均值和方差


近日需要對excel的csv文件進行處理,求取某銀行歷年股價的均值方差等一系列數據

文件的構成很簡單,部分如下所示

 總共有接近七千行數據,主要的工作就是將其中的股價數據提取出來,放入一個數組之中,然后利用numpy模塊即可求出需要的數據。

這里利用了csv模塊來對文件進行處理,最終實現的代碼如下:

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可有可無,它是一個分隔符,原本的值就是逗號,所以加不加無所謂

reader返回的是一個可以迭代的對象,需要使用for循環遍歷,row的部分輸出值如下:

 next(row)的作用是讀取第一個列表,也就是['year','price'],因為后面的代碼中要將字符型的數據轉化為浮點型,便於最后的計算,所以這句代碼必須加上,否則在轉換時就會報錯,在對row進行遍歷時,r[1]表示每一行的第二個數據,利用append將每一行的第二列數據存入數組之中,當遍歷完成時,第二列的所有數據就成功存入了price數組中,並且都是浮點型的數據,得到了這個數組就算是大功告成了,最后利用numpy模塊的mean和var分別計算出均值和方差。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM