numpy の基本 その6
- b = (a % 3 == 0):
- 3で割った余りが0かどうか、各要素に対して判定し、結果を配列で返す
- a[b]:
- 3で割った余りが0である要素のみを返す
- ここで返す値は、*コピー* であり、参照ではない点に注意
#!/usr/bin/env python #coding:utf-8 import numpy as np def work(): a = np.arange(10) b = (a % 3 == 0) c = a[b] print a # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print b # [True, False, False, True, False, False, True, False, False, True] print c # [0, 3, 6, 9] c[::] = -1 print a # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a[b] = -1 print a # [-1, 1, 2, -1, 4, 5, -1, 7, 8, -1] if __name__ == "__main__": work()