
A.7
Numba
を用いて高速な
NumPy
関数を書く
519
7996., 5735., 9732., 6340., 8884., 4954., 3516., 7142.,
5039., 2256.])
例えば
1
つ目の箱は区間
[0, 100)
*
1
です。このとき、各データポイントがどの箱(区間)に入るかを知
るには、単に
searchsorted
を使うだけでよいのです。
In [210]: labels = bins.searchsorted(data)
In [211]: labels
Out[211]:
array([4, 4, 4, 3, 2, 4, 4, 2, 3, 4, 4, 2, 4, 4, 4, 4, 4, 2, 3, 3, 3, 3, 4,
3, 4, 3, 4, 4, 4, 3, 3, 3, 4, 4, 3, 3, 4, 3, 3, 4,
4, 4, 4, 4, 4, 3,
3, 4, 4, 3])
この結果を
pandas
の
groupby
と組み合わせれば、簡単にデータをそれぞれの区間に分類できます。
In [212]: pd.Series(data).groupby(labels).mean()
Out[212]:
2 498.000000
3 3064.277778
4 7389.035714
dtype: float64
A.7
Numba
を用いて高速な
NumPy
関数を書く
Numba
(
http://numba.pydata.org/
)
*
2
は、
CPU
や
GPU
などのハードウェアを用いて
NumPy ...