1. 程式人生 > >Python取n維numpy陣列的某幾行或某一行

Python取n維numpy陣列的某幾行或某一行

現在我們有一個shape為(2947, 36, 128, 1)的numpy陣列。

想要取出前十行組成新的陣列,即新陣列的shape應為(10, 36, 128, 1)

print(test_x[0:10].shape)      # (10, 36, 128, 1)

需要注意的是:索引[0:10]中, 最後一個成員未錄入:

test_a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int)
print(test_a[0:5])  
# [0 1 2 3 4]

但要是想取某一行,比如第一行,期待新陣列shape應為(1, 36, 128, 1)

錯誤形式:

print(test_x[0].shape)      
# (36, 128, 1)

正確形式:

print(test_x[[0]].shape)   
# (1, 36, 128, 1)