2017-06-21 65 views
0

我正在嘗試用python切片3d數組。用於數組切片的python範圍語法

data = np.zeros((150, 3, 25)) 
for i in range (1, 26): 
    data2[:,:,i] = data[:, i*3-1:i*3+2] 

不過,我不斷收到此錯誤信息:

IndexError: index 25 is out of bounds for axis 2 with size 25 

我是新來的蟒蛇,但我的範圍語法的理解是,第一個數字是包容性的,但最後的數字是獨家。因爲data是一個150 * 3 * 25的數組,我希望這個命令影響所有的頁面1到25,我不能用這個命令切片嗎?對不起,如果這是一個簡單的錯誤 - 我是python的新手。如果有人能提供幫助,那將會很棒。

我跑蟒蛇3.x的

回答

0

Python的索引從0開始,因此當你爲i達到25迭代時,你試圖索引你只有25個元素分配空間的軸線25元。

因此,要麼data = np.zeros((150, 3, 26))或更改您的範圍爲range(1, 25)