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
 配列の計算:ブロードキャスト
63
2.5
 配列の計算:ブロードキャスト
前の節では、
NumPy
のユニバーサル関数を使って演算をベクトル化し、動作の遅い
Python
ルー
プを取り除く方法を見てきました。ベクトル化操作のもう
1
つの手段は、
NumPy
ブロードキャ
スト機能を使用することです。ブロードキャストは、異なるサイズの配列に対して二項
ufunc
(加
算、減算、乗算など)を適用するための一連のルールです。
2.5.1
 ブロードキャストの基礎
同じサイズの配列の場合、二項演算は要素ごとに実行されることを思い出してください。
In[1]: import numpy as np
In[2]: a = np.array([0, 1, 2])
b = np.array([5, 5, 5])
a + b
Out[2]: array([5, 6, 7])
ブロードキャストでは、この種の二項演算を異なるサイズの配列に対して実行できます。例えば、
スカラー(ゼロ次元の配列と考える)と配列の加算がそのまま行えます。
In[3]: a + 5
Out[3]: array([5, 6, 7])
これは値
5
をコピーして配列
[5, 5, 5]
に引き伸ばした上で、配列
a
との加算を行う操作と考え
られます。
NumPy
ブロードキャストの利点は、実際にはこの値のコピーが行われないところにあ
るのですが、ブロードキャストの仕組みを考える際には、こうした方がわかりやすくなります。
同様に高次元の配列にも拡張できます。
2
次元配列と
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