2016-11-17 76 views
0

所以目前代码选择单独的列是这样:新的Python - 试图从转置矩阵

table = [] 
for line in open("harrytest.csv") as f: 
    data = line.split(",") 
    table.append(data) 
transposed = [[table[j][i] for j in range(len(table))] for i in range(len(table[0]))] 
openings = transposed[1][1: - 1] 
openings = [float(i) for i in openings] 

mean = sum(openings)/len(openings) 
print mean 

minimum = min(openings) 
print minimum 

maximum = max(openings) 
print maximum 

range1 = maximum - minimum 
print range1 
  • 仅打印一个的7列我,这也省去了底线。我们不允许使用csv模块导入,使用numpy,pandas。允许的唯一模块是os,sys,数学公式& datetime。
  • 如何编写代码以获取任何列的中位数,第一个和最后一个值。

回答

0

改变这一行:

openings = transposed[1][1: - 1] 

这个

openings = transposed[1][1:] 

和最后一行应该会出现。你计算平均值,最小值,最大值和范围似乎是正确的。

对于中位数,您必须对行进行排序并选择一个中间元素或两个中间元素的平均值。第一个也是最后一个元素只是row[0]row[-1]