所以我有一个多行的文本文件 每一行都有名字、年级、生日或学生,用分号隔开
我怎样做一个函数,使它对每一行中的所有第二项求和,然后求平均值?你知道吗
例如
mary; 0; 1995
jay; 50; 1995
classAverage = 25
真的很困惑。你知道吗
到目前为止,这是我的代码,它没有给我错误,但是当我打印它时,它说<function classAverage at 0x0000000004C1ADD8>
from kiva.constants import LINES
def process(name):
f = open(name)
answer = []
for line in f:
answer.append(line.strip())
return answer
def classAverage(data):
data = process(filename)
data.split()
adding = []
for line in data:
adding = adding + data[1]
return adding/(line)
if __name__ == '__main__':
filename = "grades.txt"
data = process(filename)
for each in data:
print each
print classAverage(data)
#print "Average grade is ", classAverage(data)
year1 = 1995
year2 = 1997
print "Number born from ",year1,"to",year2,"is",
#print howManyInRange(data, year1, year2)
您应该这样修改函数classAverage:
我在运行该代码时遇到一个错误,但是如果使用“print classAverage”而不是“print classAverage(data)”,则会得到该输出,因此可能您复制的版本与生成该输出的版本略有不同。你知道吗
代码中有几个问题。首先,数据是一个列表,您正在尝试调用它数据.split(). 你也从来没有用“;”分割文本,你的平均公式是错的。我做了一些小小的调整,让它达到我认为你的目的:
也就是说,pandas非常擅长解析数据文件,然后计算数据的度量。使用pandas解析文件是一行。以下是使用熊猫的等效代码:
输出:
相关问题 更多 >
编程相关推荐