欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用Python读取CSV文件并计算某一列的均值和方差

程序员文章站 2022-03-05 16:15:30
近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据文件的构成很简单,部分如下所示总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后利用...

近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据

文件的构成很简单,部分如下所示

利用Python读取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的部分输出值如下:

利用Python读取CSV文件并计算某一列的均值和方差

next(row)的作用是读取第一个列表,也就是['year','price'],因为后面的代码中要将字符型的数据转化为浮点型,便于最后的计算,所以这句代码必须加上,否则在转换时就会报错,在对row进行遍历时,r[1]表示每一行的第二个数据,利用append将每一行的第二列数据存入数组之中,当遍历完成时,第二列的所有数据就成功存入了price数组中,并且都是浮点型的数据,得到了这个数组就算是大功告成了,最后利用numpy模块的mean和var分别计算出均值和方差。

到此这篇关于利用python读取csv文件并计算某一列的均值和方差的文章就介绍到这了,更多相关python读取csv文件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!