0

4 つの異なる列に多数の値を含む csv ファイルがあります。Pythonを使用して、特定の列の値を合計する方法はありますか(列1の値など)。1つの列のすべての値の平均を見つけたい

values_list = []

for row in b:
   values_list.append(row[1])

この方法を使用して特定の列を分離できますが、値を追加して特定の列の平均を見つけるためにそれを変更する方法はありますか

前もって感謝します

4

1 に答える 1

2

Without a example csv file, I used the following:

1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
0,1,2,3,4
2,3,4,5,6

This python script loads the csv into memory, parses it, collects the values of the n-th column, and computes the sum and mean.

#!/bin/env python

col = 2

values = []
with open('csv.csv', 'r') as csv:
    for line in csv.readlines():
        elements = line.strip().split(',')
        values.append(int(elements[col]))

csum = sum(values)
cavg = sum(values)/len(values)
print("Sum of column %d: %f" % (col, csum))
print("Avg of column %d: %f" % (col, cavg))

For example

$ python parsecsv.py
Sum of column 0: 6.000000
Avg of column 0: 1.000000

$ python parsecsv.py
Sum of column 2: 18.000000
Avg of column 2: 3.000000

If the file is too big to load into memory all at once, you can switch out the readlines() function for a loop using csv.readline()

于 2012-09-12T04:53:28.630 に答える