python如何计算csv有多少行-Python – 计算csv文件中每列的平均值

这是一个清理你的功能,但它可能不会做你想做的事情.

目前,它正在获取所有列中所有值的平均值:

def average_column (csv):

f = open(csv,"r")

average = 0

Sum = 0

row_count = 0

for row in f:

for column in row.split(","):

n=float(column)

Sum += n

row_count += 1

average = Sum / len(column)

f.close()

return "The average is:", average

我会使用csv模块(这使得csv解析更容易),使用Counter对象来管理列总计,使用context manager来打开文件(不需要close()):

import csv

from collections import Counter

def average_column (csv_filepath):

column_totals = Counter()

with open(csv_filepath,"rb") as f:

reader = csv.reader(f)

row_count = 0.0

for row in reader:

for column_idx, column_value in enumerate(row):

try:

n = float(column_value)

column_totals[column_idx] += n

except ValueError:

print "Error -- ({}) Column({}) could not be converted to float!".format(column_value, column_idx)

row_count += 1.0

# row_count is now 1 too many so decrement it back down

row_count -= 1.0

# make sure column index keys are in order

column_indexes = column_totals.keys()

column_indexes.sort()

# calculate per column averages using a list comprehension

averages = [column_totals[idx]/row_count for idx in column_indexes]

return averages

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值