【发布时间】:2016-04-12 17:08:09
【问题描述】:
我有 13 列,每行 303 行我已经在健康患者和患病患者之间划分了 303 行我现在正试图获取 CSV 文件中每一列的平均值,以供健康患者和患病患者进行比较和对比。问题的最终示例是这样,CSV 文件中的数字与此示例中的平均值类似,但缺少数据中的 ? 除外。
Please enter a training file name: train.csv
Total Lines Processed: 303
Total Healthy Count: 164
Total Ill Count: 139
Averages of Healthy Patients:
[52.59, 0.56, 2.79, 129.25, 242.64, 0.14, 0.84, 158.38, 0.14, 0.59, 1.41, 0.27, 3.77, 0.00]
Averages of Ill Patients:
[56.63, 0.82, 3.59, 134.57, 251.47, 0.16, 1.17, 139.26, 0.55, 1.57, 1.83, 1.13, 5.80, 2.04]
Seperation Values are:
[54.61, 0.69, 3.19, 131.91, 247.06, 0.15, 1.00, 148.82, 0.34, 1.08, 1.62, 0.70, 4.79, 1.02]
我的代码还有很长的路要走,我只是在寻找一种简单的方法来获取患者的平均值。我当前的方法只获得第 13 列,但我需要上面的所有 13 列。对于我应该尝试解决这个问题的任何帮助,我们将不胜感激。
import csv
#turn csv files into a list of lists
with open('train.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
csv_data = list(reader)
i_list = []
for row in csv_data:
if (row and int(row[13]) > 0):
i_list.append(int(row[13]))
H_list = []
for row in csv_data:
if (row and int(row[13]) <= 0):
H_list.append(int(row[13]))
Icount = len(i_list)
IPavg = sum(i_list)/len(i_list)
Hcount = len(H_list)
HPavg = sum(H_list)/len(H_list)
file = open("train.csv")
numline = len(file.readlines())
print(numline)
print("Total amount of healthy patients " + str(Icount))
print("Total amount of ill patients " + str(Hcount))
print("Averages of healthy patients " + str(HPavg))
print("Averages of ill patients " + str(IPavg))
我唯一的想法是做同样的事情来获得第 13 行的平均值,但我不知道如何将健康患者与患病患者分开。
【问题讨论】:
-
我唯一的想法是做同样的事情来获得第 13 行的平均值,但我不知道如何将健康患者与患病患者分开