inlineユニバーサル関数(ufunc)¶Numpyでは、三角関数(np.sinなど)や指数関数(np.exp)のような関数はユニバーサル関数オブジェクト(略すとufunc)になっています。要素ごと(element-by-element)にndarrayへ作用する関数コンパイルされたC言語で実装されているといったことが書かれています。0x264f79c3f28>]ufuncは、Pythonのループの遅さという欠点を補うために生まれました。each)少なくとも100倍以上は速くなっています。配列を一気にufuncに投げるようにしましょう。])ufuncはとても数が多いので、公式HPの下の方を参照してください。ufuncにおけるaxisとは¶ufuncで度々出てくるのが「axis(軸)」です。慣れていないと混乱することもあると思うので説明します。ここに分かりやすい画像がありましたので引用します。配列の軸の方向が矢印で書かれています。ndarray.sum関数は、引数にaxisを取ります。この場合のaxisは「和を取る方向」を意味しています。全要素の和Out[15]:15上の結果を見てもらえると分かるように、axis=0やaxis=1である軸について和を取ると次元が1つ落ちます。axisを指定しないとスカラーまで次元が落ちます。このように特定の軸について次元を落とす操作をReductionといいます。axisは、潰す軸を指定すると考えると忘れないと思います。引数にaxisを取るndarrayの主な関数の表がこちらです。詳細に知りたい方はここを見てください。一つでもTrueがあればTrue累積和を使うと、ランダムウォークを一行で書くこともできます。お気軽にご連絡ください。