Tunza wa Array ya NumPy
- Nyuma Zaidi Uagiza wa Array ya NumPy
- Pya Zaidi Random ya NumPy
Kina cha kufichia kwa jadwala
Kuondoa mambo kati ya jadwala wa kwanza kwa kumwua jadwala jipya kwa mambo yao ni kina cha kufichia (filtering).
Kwenye NumPy, tumetumia jadwala maelezo wa Boole kwa kufichia jadwala.
Jadwala maelezo wa Boole ina jadwala thamani za Boole zinginezo ambazo zinaingia kwenye index ya jadwala maelezo.
Kama thamani hii ina namba kwenye index hii True
element hii inaenea kwenye jadwala maelezo iliyochukuliwa; kama thamani hii ina namba kwenye index hii False
element hii itafichia kwenye jadwala maelezo iliyochukuliwa.
实例
Kumwua jadwala maelezo kwa viwango 0 na 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)
Mifano hii itakuretia [61, 63, 65]
Ndio ni nini?
Kwa sababu jadwala maelezo jipya ina jadwala thamani zote za jadwala maelezo ya kwanza True
kwa thamani, kwa hiyo hili kwa kawaida, index ni 0 na 2, 4.
kumwua jadwala maelezo
Kwenye mifano hii, tumekuwa na True
na False
Wamalimbikiana kwa uangalau, lakini kawaida inatumiwa kwa kumwua jadwala maelezo wa kufichia kwa msingi wa kawaida.
实例
创建一个仅返回大于 62 的值的过滤器数组:
import numpy as np arr = np.array([61, 62, 63, 64, 65]) # 创建一个空列表 filter_arr = [] # 遍历 arr 中的每个元素 for element in arr: # Ikiwa inayotoka angalau 62, asifaidhekiwa kufikia True, inakosema False: if element > 62: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
实例
创建一个过滤器数组,该数组仅返回原始数组中的偶数元素:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7]) # 创建一个空列表 filter_arr = [] # 遍历 arr 中的每个元素 for element in arr: # 如果元素可以被 2 整除,则将值设置为 True,否则设置为 False if element % 2 == 0: filter_arr.append(True) else: filter_arr.append(False) newarr = arr[filter_arr] print(filter_arr) print(newarr)
直接从数组创建过滤器
上例是 NumPy 中非常常见的任务,NumPy 提供了解决该问题的好方法。
我们可以在条件中直接替换数组而不是 iterable 变量,它会如我们期望地那样工作。
实例
创建一个仅返回大于 62 的值的过滤器数组:
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)
实例
创建一个过滤器数组,该数组仅返回原始数组中的偶数元素:
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)
- Nyuma Zaidi Uagiza wa Array ya NumPy
- Pya Zaidi Random ya NumPy