Skip to Content
Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
book

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

by Jake VanderPlas, 菊池 彰
May 2018
Intermediate to advanced
556 pages
13h 21m
Japanese
O'Reilly Japan, Inc.
Content preview from Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
2.5
 配列の計算:ブロードキャスト
65
わかりやすくなります。
2.5.2
 ブロードキャストのルール
NumPy
のブロードキャストは、
2
つの配列間の相互作用を判断するための厳密なルールに従いま
す。
ルール1
2
つの配列の次元数が異なる場合、次元数の少ない方の形状は、先頭(左側)に
1
補い
元数を揃える。
ルール2
2
つの配列の形状がいずれの次元でも一致しない場合、各次元のうち長さが
1
に等しい次
元は、他方の配列形状と一致するように引き伸ばされる。
ルール3
いずれかの次元でサイズが不一致で、長さが
1
に等しくもない場合は、エラーとなる。
このルールを明確にするために、いくつかの例で詳しく考えてみましょう。
2.5.2.1
 ブロードキャスト例
1
1
次元配列と
2
次元配列の加算を見てみましょう。
In[8]: M = np.ones((2, 3))
a = np.arange(3)
この
2
つの配列の操作を考えます。それぞれの配列の形状は次の通りです。
M.shape = (2, 3)
a.shape = (3,)
ルール
1
では、配列
a
の次元数が少ないので、先頭に
1
を補います
1
M.shape -> (2, 3)
a.shape -> (1, 3)
ルール
2
により、最初の次元が不一致であることから、この次元を次のように一致させます。
M.shape -> (2, 3)
a.shape -> (2, 3)
これで形状が一致して、結果は
(2, 3)
つまり
2
3
列の
2
次元配列となります。
1
訳注:
a
は長さ
3
1
次元配列ですが、形状の先頭に ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Jake VanderPlas, 菊池 彰
初めてのGraphQL ―Webサービスを作って学ぶ新世代API

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

Eve Porcello, Alex Banks, 尾崎 沙耶, あんどうやすし

Publisher Resources

ISBN: 9784873118413Other