【发布时间】:2014-12-01 23:55:31
【问题描述】:
请帮忙!我尝试了不同的东西/包来编写一个程序,该程序接受 4 个输入并根据来自 csv 文件的输入组合返回一个组的写作分数统计信息。这是我的第一个项目,因此我将不胜感激任何见解/提示/提示!
这是 csv 样本(总共有 200 行):
id gender ses schtyp prog write
70 male low public general 52
121 female middle public vocation 68
86 male high public general 33
141 male high public vocation 63
172 male middle public academic 47
113 male middle public academic 44
50 male middle public general 59
11 male middle public academic 34
84 male middle public general 57
48 male middle public academic 57
75 male middle public vocation 60
60 male middle public academic 57
这是我目前所拥有的:
import csv
import numpy
csv_file_object=csv.reader(open('scores.csv', 'rU')) #reads file
header=csv_file_object.next() #skips header
data=[] #loads data into array for processing
for row in csv_file_object:
data.append(row)
data=numpy.array(data)
#asks for inputs
gender=raw_input('Enter gender [male/female]: ')
schtyp=raw_input('Enter school type [public/private]: ')
ses=raw_input('Enter socioeconomic status [low/middle/high]: ')
prog=raw_input('Enter program status [general/vocation/academic: ')
#makes them lower case and strings
prog=str(prog.lower())
gender=str(gender.lower())
schtyp=str(schtyp.lower())
ses=str(ses.lower())
我缺少的是如何过滤并仅获取特定组的统计信息。例如,假设我输入了男性、公共、中等和学术——我想获得该子集的平均写作分数。我尝试了 pandas 的 groupby 功能,但这只能为您提供广泛组的统计信息(例如公共与私人)。我还尝试了 pandas 的 DataFrame,但这只能让我过滤一个输入,并且不知道如何获得写作分数。任何提示将不胜感激!
【问题讨论】: