我有一个 csv 文件,我可以将它导入到程序中。我需要知道如何计算文件特定列的平均值。
问问题
6019 次
3 回答
2
import csv
with open('your_csv.csv', 'rb') as f:
reader = csv.reader(f)
if your_file_has_a_header_row:
next(reader)
the_numbers = [float(row[col_index_you_want]) for row in reader]
average = sum(the_numbers) / len(the_numbers)
如果使用 Python 3,请将 with 语句更改为
with open('your_csv.csv', newline='') as f:
于 2013-03-13T15:23:57.410 回答
0
首先,您可以从 column 获取数据:
columnNumber = 42
data = [float(l.split(';')[columnNumber]) for l in open('file.csv', 'r').readlines()]
然后计算平均值:
mean = sum(data) / len(data)
编辑:代码修复(来自 Steven Rumbalski)
于 2013-03-13T15:23:27.457 回答
0
您可以将此问题拆分为多个部分:
- 读取文件
- 分离出右列
- 计算总数
- 除以行数。
一次拿一条线,你应该没问题。Google 将帮助您了解详细信息,当您对任何部分有具体问题时,欢迎您回到 SO。
于 2013-03-13T15:21:58.363 回答