2015-04-24 39 views
0

我正在嘗試使用已添加到數組中的值執行操作。在Python中對數組中的特定值進行求和

步驟1:

滿載xlrd庫xls文件並創建了一個陣列。 http://i.imgur.com/Ig6Lz3L.png

這是代碼。

import xlrd 

datafile = "data.xls" 
workbook = xlrd.open_workbook(datafile) 
sheet = workbook.sheet_by_index(0) 

data = [[sheet.cell_value(r, col) 
      for col in range(sheet.ncols)] 
       for r in range(sheet.nrows)] 

我想列 print (data[1][1]) print (data[2][1]) print (data[3][1]) print (data[4][1]) print (data[5][1])

SUMM一路內總結所有的值以I(數據[I] [1])?

像的所有行相加爲同一列,

我試圖做總和數據[1],但這個總結爲在同一行的所有值(例如中值的水平總和...)我試圖做一個垂直的總和)

回答

1
>>> data = [[1,2],[3,4],[5,6]] 
>>> sum(data[i][1] for i in range(len(data))) 
12 # 2 + 4 + 6 
>>> 
0

您可以使用numpy的的np.sum()沿或下一個矩陣的軸綜上所述,生產和的載體,具體如下:

>>> import numpy as np 
>>> data = [ [1,2],[3,4],[5,6] ] 

>>> np.sum(data,0) 

array([ 9, 12]) # Summing down the matrix (axis 0) 

>>> np.sum(data,1) 

array([ 3, 7, 11]) # Summing along the matrix (axis 1) 
0

感謝您抽出時間。 @ C.B 我收到了語法錯誤。 @StackG,謝謝,正是我在找的東西。 但是,我找到了另一種方式來做到這一點。

import xlrd。 'print(sheet.col_values(1,start_rowx = 1,end_rowx = 100)''

' '
相關問題