2016-04-19 119 views
3

我有一個形狀爲512x512的數組,其中包含第i和第j個位置的0到100之間的數字。現在我想在其他地方選擇數組[i,j] < 25。我已經嘗試過array = array[where(array<25)],它給了我一個一維數組,但我想要2D。請幫我解決這個問題。二維numpy陣列的閾值

+0

的可能的複製[設置numpy的數組元素到零,如果它們低於特定閾值(https://stackoverflow.com/questions/28430904/set-numpy-array-elements-to-零IF-它們-是-低於一個特定的閾值) – jdhao

回答

3

一種解決方案:

result = (array < 25) * array 

第一部分array < 25給你相同的形狀即1(真),其中值小於25和0(假),否則的陣列。與原來的陣列逐元素乘法保留是小於25的值,並設置其餘爲0。這不改變原始數組

另一種可能性是設置是> = 25至零的所有值原始數組: