python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差
近日需要對(duì)excel的csv文件進(jìn)行處理,求取某銀行歷年股價(jià)的均值方差等一系列數(shù)據(jù)
文件的構(gòu)成很簡(jiǎn)單,部分如下所示
總共有接近七千行數(shù)據(jù),主要的工作就是將其中的股價(jià)數(shù)據(jù)提取出來(lái),放入一個(gè)數(shù)組之中,然后利用numpy模塊即可求出需要的數(shù)據(jù)。
這里利用了csv模塊來(lái)對(duì)文件進(jìn)行處理,最終實(shí)現(xiàn)的代碼如下:
importcsvimportnumpy as np
with open('pingan_stock.csv') as csv_file:
row= csv.reader(csv_file, delimiter=',')
next(row)#讀取首行
price = [] #建立一個(gè)數(shù)組來(lái)存儲(chǔ)股價(jià)數(shù)據(jù)
#讀取除首行之后每一行的第二列數(shù)據(jù),并將其加入到數(shù)組price之中
for r inrow:
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可有可無(wú),它是一個(gè)分隔符,原本的值就是逗號(hào),所以加不加無(wú)所謂
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ì)算出均值和方差。
總結(jié)
以上是生活随笔為你收集整理的python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jquery清空div内容_jQuery
- 下一篇: python 播放视频 ftp_利用Py