NumPy array filter
- Baya Previous NumPy array sort
- Baya Next NumPy random
数组过滤
从现有数组中取出一些元素并从中创建新数组称为过滤(filtering)。
在 NumPy 中,我们使用布尔索引列表来过滤数组。
布尔索引列表是与数组中的索引相对应的布尔值列表。
如果索引处的值为 True
,则该元素包含在过滤后的数组中;如果索引处的值为 False
,则该元素将从过滤后的数组中排除。
Anfani
用索引 0 和 2、4 上的元素创建一个数组:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) x = [True, False, True, False, True] newarr = arr[x] print(newarr)
上例将返回 [61, 63, 65]
,为什么?
因为新过滤器仅包含过滤器数组有值 True
的值,所以在这种情况下,索引为 0 和 2、4。
创建过滤器数组
在上例中,我们对 True
和 False
值进行了硬编码,但通常的用途是根据条件创建过滤器数组。
Anfani
Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko: filter_arr = [] # Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko: for element in arr: # 如果元素大于 62,则将值设置为 True,否则为 False: if element > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Anfani
Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko: filter_arr = [] # Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko: for element in arr: # Idan element zai iya kaiwa 2, za a rarraba wa True, amma idan zai iya kaiwa False, za a rarraba wa False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
Anfasi tashi daga hanyar tashi na farko
Anfani na yau yana cikin aiki na tsawon NumPy, NumPy ya kuma taimaka a hanyar da yake samar da sabon hanyar.
Aza zama zai iya kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko:
Anfani
Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) filter_arr = arr > 62 newarr = arr[filter_arr] print(filter_arr) print(newarr)
Anfani
Anfasi kara kara kara tashi daga hanyar tashi na farko kuma yana cikin tashi na farko kuma yana cikin tashi na farko:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) filter_arr = arr % 2 == 0 newarr = arr[filter_arr] print(filter_arr) print(newarr)
- Baya Previous NumPy array sort
- Baya Next NumPy random