首页 > 解决方案 > 在 Python 中读取 CSV 文件,获取列(平均)

问题描述

您如何读取 csv 文件中的每一行并平均每列?

CSV 文件将如下所示

15 1 2 3
30 5 12 5
40 2 3 10

结果应该是列的平均值

28.33
2.67
5.66
6

类似的东西

我尝试了很多解决方法,但我似乎无法让它工作

import csv


with open(test_file, "r") as input_file:
  reader = csv.reader(input_file)

for row in reader:
  print(row[0])

total = 0
avg = 0
for num in row:
  print(row[0][num])
  total += int(num)
  avg = total/len(num)


print(avg)
print(row)

标签: pythoncsv

解决方案


可能最容易使用 pandas


import pandas as pd
df = pd.read_csv('file.csv', sep=','(or ';'), headers=0 (if no headers))
df.mean(axis=0)

给出以下输出:

0    28.333333
1     2.666667
2     5.666667
3     6.000000

推荐阅读