小编Pab*_* LR的帖子

Python - 计算 csv 文件中每一列的平均值

我是 Python 新手,我正在尝试获取 csv 文件的每个(列或行)的平均值,然后选择高于其列(o 行)平均值的两倍的值。我的文件有数百列,并且具有如下浮点值:

845.123,452.234,653.23,...
432.123,213.452.421.532,...
743.234,532,432.423,...
Run Code Online (Sandbox Code Playgroud)

我已经尝试对我的代码进行多次更改以获得每一列的平均值(单独),但目前我的代码是这样的:

def AverageColumn (c):
    f=open(csv,"r")
    average=0
    Sum=0
    column=len(f)
    for i in range(0,column):
        for n in i.split(','):
            n=float(n)
            Sum += n
        average = Sum / len(column)
    return 'The average is:', average

    f.close()


csv="MDT25.csv"
print AverageColumn(csv)
Run Code Online (Sandbox Code Playgroud)

但我总是收到类似“f 没有 len()”或“'int' 对象不可迭代”之类的错误...

如果有人告诉我如何获得每一列(或行,如您所愿)的平均值,然后选择高于其列(或行)平均值的两倍的值,我将不胜感激。我宁愿不将模块作为 csv 导入,而是根据您的喜好。谢谢!

python csv multiple-columns

4
推荐指数
1
解决办法
5万
查看次数

标签 统计

csv ×1

multiple-columns ×1

python ×1