2017-08-01 138 views
-3

所以我們可以說,我們有Numpy數組索引操作?

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7]) 

我們如何讓這個在指數n數由-1

變更爲-1,然後所有數字到它(高折射率)改變的權利

例如,n = 3的新陣列看起來像這樣:

[0 1 2 -1 3 4 5 6] 
+3

這是一件容易的事。你究竟在爲什麼而掙扎? – Alik

回答

4

在一個行:

arr[i], arr[i + 1:] = -1, arr[i + 1:] - 1 

我建議你閱讀Array Indexing的文檔

+0

謝謝你的優雅的解決方案。我很愚蠢,即使閱讀了文檔後,我似乎也不明白你是如何做到的。 第一部分是開始,第二部分對我很困惑,第三部分我明白。 例如,我們如何做到這一點,而不將第n個索引改爲-1,因此只需在第n個索引之後取所有元素並將它們降低1? –

+0

這是兩個語句,'arr [i] = -1'和'arr [i + 1:] = arr [i + 1:] - 1'第二部分只是將索引'i'後的所有值替換爲值少一個 –