NumPy配列を対象としたユニバーサル関数 2015/05/02
ndarrayの要素ごとになにかを計算して結果を新しいndarrayにして返す関数をユニバーサル関数(universal function)という。他の言語でいうmap関数みたいなものを、 NumPyのndarrayに対して、三角関数とか、切り捨て処理とかの計算処理ごとに専用の関数にして高速化したもの。
関数の形をしていないが、ベクトル計算といって、四則演算もndarrayに対してできる。
ndarr1 = np.array([0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0])
print(ndarr1)
# 出力結果
# [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. ]
print(np.sin(ndarr1))
# 出力結果
# [ 0. 0.09983342 0.19866933 0.29552021 0.38941834 0.47942554
# 0.56464247 0.64421769 0.71735609 0.78332691 0.84147098]
# ベクトル計算
print(ndarr1 * 3)
# 出力結果
# [ 0. 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7 3. ]
print(np.floor(ndarr1 * 3))
# 出力結果
# [ 0. 0. 0. 0. 1. 1. 1. 2. 2. 2. 3.]
関連
1つのndarrayを引数にとって、ndarrayを1つ返すユニバーサル関数 2015/05/20
sqrt
- 平方根 \( \sqrt x \)
numpy.sqrt
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.sqrt.html square
- 2乗 \( x^2 \)
numpy.square
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.square.html exp
- 指数関数 \( e^x \)
numpy.exp
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.exp.html exp2
- \( 2^x \)
numpy.exp2
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.exp2.html log
- 対数関数 \( \log x \)
numpy.log
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.log.html log10
- 10を底とする対数関数 \( \log_{10} x = \frac{\log x}{\log 10} \)
numpy.log10
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.log10.html log2
- 2を底とする対数関数 \( \log_2 x = \frac{\log x}{\log 2} \)
numpy.log2
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.log2.html log1p
- \( \log(1 + x) \)
numpy.log1p
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.log1p.html cos
- 三角関数の余弦 \( \cos x \)
numpy.cos
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.cos.html sin
- 三角関数の正弦 \( \sin x \)
numpy.sin
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.sin.html tan
- 三角関数の正接 \( \tan x \)
numpy.tan
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.tan.html cosh
- 双曲線関数の余弦 \( \cosh x \)
numpy.cosh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.cosh.html sinh
- 双曲線関数の正弦 \( \sinh x \)
numpy.sinh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.sinh.html tanh
- 双曲線関数の正接 \( \tanh x \)
numpy.tanh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.tanh.html arccos
- 逆三角関数の余弦 \( \cos^{-1} x \)
numpy.arccos
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arccos.html arcsin
- 逆三角関数の正弦 \( \sin^{-1} x \)
numpy.arcsin
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arcsin.html arctan
- 逆三角関数の正接 \( \tan^{-1} x \)
numpy.arctan
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arctan.html arccosh
- 逆双曲線関数の余弦 \( \cosh^{-1} x \)
numpy.arccosh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arccosh.html arcsinh
- 逆双曲線関数の正弦 \( \sinh^{-1} x \)
numpy.arcsinh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arcsinh.html arctanh
- 逆双曲線関数の正接 \( \tanh^{-1} x \)
numpy.arctanh
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.arctanh.html fabs
- 絶対値 \( |x| \)
複素数のndarrayには対応していない。 abs
- 絶対値 \( |x| \)
複素数のndarrayにも対応している。たぶんabsolute
と同じだとは思うけど。 absolute
- 絶対値 \( |x| \)
複素数のndarrayにも対応している。たぶんabs
と同じ。
numpy.absolute
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.absolute.html sign
- 符号。正は
+1.0
, 負は-1.0
,0
は0.0
を返す。結果は浮動小数点数のndarrayになる。
numpy.sign
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.sign.html ceil
- 切り上げ。負は
0
に近い方に丸められる。
numpy.ceil
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.ceil.html floor
- 切り捨て。負は
0
から遠い方に丸められる。
numpy.floor
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.floor.html rint
- 近い整数にに丸める。2つの整数のちょうど中間の場合は偶数に方に丸める。例:
1.5
->2.0
,2.5
->2.0
,3.5
->4.0
numpy.rint
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.rint.html isnan
NaN
かどうかを判定して論理値のndarrayを返す
numpy.isnan
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.isnan.htmlisfinite
- 有限(
inf
でもNaN
でもない)かどうかを判定して論理値のndarrayを返す
numpy.isfinite
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.isfinite.html isinf
- 無限(
inf
)かどうかを判定して論理値のndarrayを返す
numpy.isinf
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.isinf.html
論理演算子と同等のもの 2015/05/20
logical_not
- 論理値のndarrayを引数にとって、要素ごとに否定した論理値のndarrayを返す
numpy.logical_not
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.logical_not.html
1つのndarrayを引数にとって、ndarrayを2つタプルで返すユニバーサル関数 2015/05/21
modf
- 小数部分と整数部分を2つのndarrayにわけてタプルで返す。返り値の2つのndarrayを足すともとのndarrayに戻る。整数部分は
0
に近い方に丸めた数になる。
numpy.modf
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.modf.html
2つのndarrayを引数にとって、ndarrayを1つ返すユニバーサル関数 2015/06/03
add
- 加算(和) \( x + y \)
numpy.add
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.add.html subtract
- 減算(差) \( x - y \)
numpy.subtract
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.subtract.html multiply
- 乗算(積) \( x y \)
numpy.multiply
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.multiply.html divide
- 除算(商) \( \frac{x}{y} \)
numpy.divide
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.divide.html floor_divide
- 除算(商) \( \frac{x}{y} \)
整数に切り捨てられる。ただし要素の型は浮動小数点数のまま。結果が負の場合は絶対値の大きい方に丸められる
numpy.floor_divide
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.floor_divide.html mod
- 剰余
numpy.mod
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.mod.html power
- べき乗 \( x^y \)
numpy.power
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.power.html maximum
- 2つの要素を比較して大きい方を抽出。片方または両方が
NaN
の場合はNaN
になる。 -> 最大値・最小値に関する関数
numpy.maximum
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.maximum.html fmax
- 2つの要素を比較して大きい方を抽出。片方が
NaN
の場合は他方の値になる。 -> 最大値・最小値に関する関数
numpy.fmax
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.fmax.html minimum
- 2つの要素を比較して小さい方を抽出。片方または両方が
NaN
の場合はNaN
になる。 -> 最大値・最小値に関する関数
numpy.minimum
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.minimum.html fmin
- 2つの要素を比較して小さい方を抽出。片方が
NaN
の場合は他方の値になる。 -> 最大値・最小値に関する関数
numpy.fmin
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.fmin.html copysign
- 1つ目の配列の要素の符号を2つ目の配列の要素の符号にした配列にする
numpy.copysign
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.copysign.html
数値を比較して真偽値のndarrayを返すもの 2015/05/26
greater
>
の意味
numpy.greater
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.greater.htmlgreater_equal
>=
の意味
numpy.greater_equal
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.greater_equal.htmlless
<
の意味
numpy.less
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.less.htmlless_equal
<=
の意味
numpy.less_equal
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.less_equal.htmlequal
==
の意味
numpy.equal
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.equal.htmlnot_equal
==
の意味
numpy.not_equal
| NumPy v1.9 Manual
http://docs.scipy.org/doc/numpy-1.9.1/reference/generated/numpy.not_equal.html
論理演算子と同等のもの 2015/05/20
logical_and
- 論理積
&
logical_or
- 論理和
|
logical_xor
- 排他的論理和
^