Python

【Python】NumPyのユニバーサル関数(ufunx)一覧

PythonでNumPyを使用するにあたり、ユニバーサル関数(universal function、ufunc)というものが出てきたのでまとめておきます。

目次

ユニバーサル関数とは

ユニバーサル関数(universal function、ufunc)は、ndarrayを対象に、要素ごとの捜査結果を戻す関数のこと。

スカラーを引数に指定して、スカラーを戻すような関数をベクトル対応し、ndarrayを引数に指定してndarrayを高速に戻すように拡張したものと、とらえることができる。

単項func

引数に一つのndarrayを取るものは単項funcと呼ばれる。

abs、fabs

各要素の整数、小数、複素数の絶対値を計算する。

fabsはabsの高速版で、対象を整数と少数に限定する。

sqrt

各要素の平方根を計算する。
arr ** 0.5と同等。

square

各要素の2乗を計算する。
arr ** 2と同等。

exp

各要素を指数として自然対数の底e(2.7818…)のべき乗(\(e^x\))を計算する。

\(\log\)、\(\log{_1}{_0}\)、\(\log{_2}\)、\(\log{_1}{_p}\)

各要素を真数とし、logは底eの自然対数を、\(\log{_1}{_0}\)は底10の常用対数を、\(\log{_2}\)は底2の対数を計算する。
\(\log{_1}{_p}\)は各要素に1を加えた数を真数として底eの自然対数を計算する。

sign

各要素の符号を返す。
正は1、ゼロは0、負は-1。

ceil

各要素の切り上げを計算する。
※各要素に対して、その数以上の最小の整数を計算する

floor

各要素の切り捨てを計算する。
※各要素に対して、その数以下の最小の整数を計算する

rint

各要素の丸め値を計算する。
※各要素に対して、その数に最も近い整数を計算する
※dtypeは変更されない

modf

要素ごとに整数部分と小数部分に分割し、整数部分からなる配列と、小数部分からなる配列を返す。

isnan

要素ごとにNaN(Not a Number)かどうかを判定した結果を格納した、真偽値配列を返す。

isfinite、isinf

isfinateは要素ごとに有限(infでなく、かつNaNでもない)かどうか、isinfは要素ごとに無限(inf)かどうかを判定した結果を格納した、真偽値配列を返す。

cos、cosh、sin、sinh、tan、tanh

各要素の余弦、双曲線余弦、正弦、双曲線正弦、正接、双曲線正接を計算する。

arrcos、arccosh、arcsin、arcsinh、arctan、arctanh

各要素の逆余弦、逆双曲線余弦、逆正弦、逆双曲線正弦、逆正接、逆双曲線正接を計算する。

logical_not

各要素の論理否定を返す。
※~arrと同等

二項func

引数に二つのndarrayを取るものは二項funcと呼ばれる。

add

配列の要素ごとの和を取る。

subtract

1番目の配列から2番目の配列のそれぞれの要素の差を取る。

multiply

配列の要素ごとの積を取る。

divide、floor_divide

divideは配列の要素ごとの商を取る。

floor_divideは商を取り、余り(小数点以下)を切り捨てる。

power

1番目の配列要素を底とし、2番目の配列要素でべき乗する。

maximum、fmax

配列の要素ごとの最大値を計算する。

要素がNaNの場合、maximumはNaNを選び、fmaxはNaNでない要素を選ぶ。

minimum、fmin

配列の要素ごとの最小値を計算する。

要素がNaNの場合、maximumはNaNを選び、fminはNaNでない要素を選ぶ。

mod

配列の要素ごとの剰余を計算する。

copysign

1番目の配列要素の値に、2番目の配列要素の符号を付ける。

greater、greater_equal、less、less_equal、equal、not_equal

配列の要素ごとの比較結果を真偽値で格納した配列を返す。

次の中置二項演算子と同等。

  • greater:>
  • greater_equal:>=
  • less:<
  • less_equal:<=
  • equal:==
  • not_equal:!=

logical_and、logical_or、logical_xor

配列の要素ごとに論理演算する。

次の中置二項演算子と同等。

  • logical_and:&
  • logical_or:|
  • logical_xor:^