Boolean arrays as masks, np.where, np.nonzero, and integer array indexing. We cover the performance cost of fancy indexing, avoiding unintended copies, and combining boolean logic. Examples include filtering data and selecting irregular subsets — patterns that appear in preprocessing and in vectorized feature engineering before ML training.