2014-06-17 24 views
1

我有一個大的numpy Python中的一維數據數組,並希望條目x(500)到y(520)被更改爲等於1.我可以使用for循環但有沒有更好的,更快numpy這樣做?如何更改numpy數組中的數據塊

for x in range(500,520) numpyArray[x] = 1.

下面是for循環,可以使用,但它看起來有可能是我失蹤numpy的一個功能 - 我寧願不使用numpy的報價蒙面陣列

+0

什麼你試過這麼遠嗎?你的代碼在哪裏?它有哪些問題? –

回答

5

您可以使用[]訪問一系列要素:

import numpy as np 

a = np.ones((10)) 
print(a) # Original array 
# [ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.] 
startindex = 2 
endindex = 4 
a[startindex:endindex] = 0 

print(a) # modified array 
# [ 1. 1. 0. 0. 1. 1. 1. 1. 1. 1.] 
+0

謝謝 - 我嘗試過,但訪問錯誤的數據集,所以代碼沒有正確執行。感謝您指出,所以我查了一下我忽略的這個簡單的錯字。 –

+0

如果解決了您的問題,請接受答案,以免問題仍然存在(請查看[幫助](http://stackoverflow.com/help/someone-answers)) –

相關問題