Python讀取CSV文件并計(jì)算某一列的均值和方差
近日需要對(duì)excel的csv文件進(jìn)行處理,求取某銀行歷年股價(jià)的均值方差等一系列數(shù)據(jù)
文件的構(gòu)成很簡(jiǎn)單,部分如下所示

總共有接近七千行數(shù)據(jù),主要的工作就是將其中的股價(jià)數(shù)據(jù)提取出來,放入一個(gè)數(shù)組之中,然后利用numpy模塊即可求出需要的數(shù)據(jù)。
這里利用了csv模塊來對(duì)文件進(jìn)行處理,最終實(shí)現(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 = [] # 建立一個(gè)數(shù)組來存儲(chǔ)股價(jià)數(shù)據(jù)
# 讀取除首行之后每一行的第二列數(shù)據(jù),并將其加入到數(shù)組price之中
for r in row:
price.append(float(r[1])) # 將字符串?dāng)?shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型加入到數(shù)組之中
print(np.var(price)) # 輸出均值
print(np.mean(price)) # 輸出方差
首先利用csv的reader方法,其中delimiter可有可無,它是一個(gè)分隔符,原本的值就是逗號(hào),所以加不加無所謂
reader返回的是一個(gè)可以迭代的對(duì)象,需要使用for循環(huán)遍歷,row的部分輸出值如下:

next(row)的作用是讀取第一個(gè)列表,也就是['year','price'],因?yàn)楹竺娴拇a中要將字符型的數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型,便于最后的計(jì)算,所以這句代碼必須加上,否則在轉(zhuǎn)換時(shí)就會(huì)報(bào)錯(cuò),在對(duì)row進(jìn)行遍歷時(shí),r[1]表示每一行的第二個(gè)數(shù)據(jù),利用append將每一行的第二列數(shù)據(jù)存入數(shù)組之中,當(dāng)遍歷完成時(shí),第二列的所有數(shù)據(jù)就成功存入了price數(shù)組中,并且都是浮點(diǎn)型的數(shù)據(jù),得到了這個(gè)數(shù)組就算是大功告成了,最后利用numpy模塊的mean和var分別計(jì)算出均值和方差。
到此這篇關(guān)于利用Python讀取CSV文件并計(jì)算某一列的均值和方差的文章就介紹到這了,更多相關(guān)Python讀取CSV文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python深度學(xué)習(xí)實(shí)戰(zhàn)PyQt5安裝與環(huán)境配置過程詳解
本系列面向 Python 小白,從零開始實(shí)戰(zhàn)解說應(yīng)用 QtDesigner 進(jìn)行 PyQt5 的項(xiàng)目實(shí)戰(zhàn)。什么叫從零開始?從軟件安裝、環(huán)境配置開始。不跳過一個(gè)細(xì)節(jié),不漏掉一行代碼,不省略一個(gè)例圖2021-10-10
分享一下Python數(shù)據(jù)分析常用的8款工具
Python是數(shù)據(jù)處理常用工具,可以處理數(shù)量級(jí)從幾K至幾T不等的數(shù)據(jù),具有較高的開發(fā)效率和可維護(hù)性,還具有較強(qiáng)的通用性和跨平臺(tái)性,這里就為大家分享幾個(gè)不錯(cuò)的數(shù)據(jù)分析工具,需要的朋友可以參考下2018-04-04
Python實(shí)現(xiàn)去除Excel重復(fù)數(shù)據(jù)并統(tǒng)計(jì)重復(fù)次數(shù)
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實(shí)現(xiàn)文本數(shù)據(jù)去重,創(chuàng)建包含唯一值的新列,并統(tǒng)計(jì)文本數(shù)據(jù)出現(xiàn)的次數(shù),需要的可以參考下2023-08-08
python通過scapy獲取局域網(wǎng)所有主機(jī)mac地址示例
這篇文章主要介紹了python通過scapy獲取局域網(wǎng)所有主機(jī)mac地址示例,需要的朋友可以參考下2014-05-05
Python的化簡(jiǎn)函數(shù)reduce()詳解
這篇文章主要介紹了Python的化簡(jiǎn)函數(shù)reduce()詳解,reduce()函數(shù)即為化簡(jiǎn)函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果與下一個(gè)元素一同傳入二元func函數(shù)中去執(zhí)行,需要的朋友可以參考下2023-12-12
python實(shí)現(xiàn)socket+threading處理多連接的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)socket+threading處理多連接的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
關(guān)于Pandas缺失值inf與nan的處理實(shí)踐
這篇文章主要介紹了關(guān)于Pandas缺失值inf與nan的處理實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
詳解Python使用simplejson模塊解析JSON的方法
這篇文章主要介紹了Python使用simplejson模塊解析JSON的方法,實(shí)例代碼基于Pyhton2.x版本,文中最后還附了關(guān)于simplejson模塊的一些性能放面的討論,需要的朋友可以參考下2016-03-03

