
7.3
文字列操作
231
最後に、統計処理において実用的で役に立つレシピとして、
cut
などの離散化関数と
get_dummies
を
組み合わせる方法を紹介します。
In [129]: np.random.seed(12345)
In [130]: values = np.random.rand(10)
In [131]: values
Out[131]:
array([ 0.9296, 0.3164, 0.1839, 0.2046, 0.5677, 0.5955, 0.9645,
0.6532, 0.7489, 0.6536])
In [132]: bins = [0, 0.2, 0.4, 0.6, 0.8, 1]
In [133]: pd.get_dummies(pd.cut(values, bins))
Out[133]:
(0.0, 0.2] (0.2, 0.4] (0.
4, 0.6] (0.6, 0.8] (0.8, 1.0]
0 0 0 0 0 1
1 0 1 0 0 0
2 1 0 0 0 0
3 0 1 0 0 0
4 0 0 1 0 0
5 0 0 1 0 0
6
0 0 0 0 1
7 0 0 0 1 0
8 0 0 0 1 0
9 0 0 0 1 0
上の例では、乱数生成の結果が決定論的になるように(つまり読者のみなさんが実行したときに同じ
結果が得られるように)、
numpy.random.seed
を用いて乱数のシードを設定しています。また、
pandas.
get_dummies
関数については、この本 ...