2015-03-02 100 views
0

新星火併希望看到以優化下面的代碼的最佳方式。 我有5GB文件的文件用50列,其餘(下面在可變位置)大約需要30列出來。然後在其上運行各種統計數據。優化星火數字功能(蟒蛇)

def numStats(position): 
    results = [] 
    for lines in position: 
     stats = [0,0,0,0,0,0,0,0] 
     myData = dataSplit.map(lambda arr: (arr[lines])) 
     if myData.take(1) != [u'']: 
      myData3 = myData.map(lambda line: line.split(',')).map(lambda fields: ("Column", float(fields[0]))).map(lambda (column, value) : (value)).persist(StorageLevel.MEMORY_AND_DISK) 
      stats[0] = myData3.sum() 
      results.append(stats[0]) 
      stats[1] = myData3.min() 
      results.append(stats[1]) 
      stats[2] = myData3.max() 
      results.append(stats[2]) 
      stats[3] = myData3.mean() 
      results.append(stats[3]) 
      stats[4] = myData3.stdev() 
      results.append(stats[4]) 
      stats[5] = myData3.variance() 
      results.append(stats[5]) 
      stats[6] = myData3.sampleStdev() 
      results.append(stats[6]) 
      stats[7] = myData3.sampleVariance() 
      results.append(stats[7]) 
+0

你的問題是計算單通道內的所有統計數據? – javadba 2015-03-03 00:19:47

+0

有什麼你可以在我怎麼可能能夠進一步優化代碼看? – theMadKing 2015-03-03 16:23:22

回答