2010-12-08 69 views
0

我的代碼下面沒有填充名爲RRmeanArray的numpy/pylab數組。任何人都可以告訴我如何修復代碼,使其填充數組?填充numpy數組的問題

import pylab as p 
    RRmeanArray = p.array([]) 
    startBeatIndex = 0 
    endBeatIndex = 10 
    for k in range(int(p.floor(len(QRSandRRarray[0])/10))-1): 
     print '++++++++++++++++++++++++++++++++++++++++++++' 
     print 'k is: ',k 
     print 'startBeatIndex is: ',startBeatIndex 
     print 'endBeatIndex is: ',endBeatIndex 
     print 'p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) is: ',p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) 
     newMean = p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) 
     print 'newMean is: ',newMean 
     RRmeanArray += [newMean] 
     print 'len(RRmeanArray) is: ',len(RRmeanArray) 
     startBeatIndex += 10 
     endBeatIndex += 10 
     print '++++++++++++++++++++++++++++++++++++++++++++' 

這裏是我得到如蟒蛇外殼輸出k的一個典型的迭代:

++++++++++++++++++++++++++++++++++++++++++++ 
k is: 619 
startBeatIndex is: 6190 
endBeatIndex is: 6200 
p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) is: 0.5971 
newMean is: 0.5971 
len(RRmeanArray) is: 0 
++++++++++++++++++++++++++++++++++++++++++++ 

編輯: 謝謝,托馬斯。你幾乎得到它。工作版本是:

RRmeanArray = p.zeros(len(range(int(p.floor(len(QRSandRRarray[0])/10))-1))) 
    startBeatIndex = 0 
    endBeatIndex = 10 
    for i,k in enumerate(range(int(p.floor(len(QRSandRRarray[0])/10))-1)): 
     newMean = p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) 
     RRmeanArray[i] += [newMean] 
     startBeatIndex += 10 
     endBeatIndex += 10 

現在回答了這個問題。

+3

如果您與其他MedicalMath相同,則應使用該帳戶。 – Thomas 2010-12-08 22:04:15

+0

這是否真的做到了你想要的?我很困惑這一行:RRmeanArray [i] + = [newMean] – Thomas 2010-12-09 02:41:05

回答

1

對於numpy數組,顯然+ =操作符(它調用方法array.extend)不存在。如果你使用的是一個numpy數組,你應該預先分配它,使其成爲你所需要的全部大小。

RRmeanArray = p.zeros(len(range(int(p.floor(len(QRSandRRarray[0])/10))-1))) 
for i,k in enumerate(range(int(p.floor(len(QRSandRRarray[0])/10))-1)): 
    RRmeanArray[i] = p.mean(QRSandRRarray[1,startBeatIndex:endBeatIndex]) 
    startBeatIndex += 10 
    endBeatIndex += 10 

添加到陣列的到底是不是真的有什麼numpy的陣列是 - 爲您可能需要一個列表。

編輯:修正newMean是RRmeanArray,一直以來是什麼意思。 我認爲這是你想要的,而不是你用[newMean]增加RRmeanArray [i]的版本,但是我很高興爲你工作。