日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

Pythonで数値処理1 四捨五入、対数、指数、三角関数

四捨五入でnp.fixはRで使ったことがない機能
年齢データから年代をとるときに使えそう

import numpy as np #NumPyライブラリの読み込み

四捨五入

a = [1.0,1.2,1.4,1.5,1.8,2.0,2,2.4]
np.round(a) #四捨五入

array([ 1., 1., 1., 2., 2., 2., 2., 2.])

np.trunc(a) #整数部分

array([ 1., 1., 1., 1., 1., 2., 2., 2.])

np.floor(a) #小さい側の整数

array([ 1., 1., 1., 1., 1., 2., 2., 2.])

np.ceil(a) #大きい側の整数

array([ 1., 2., 2., 2., 2., 2., 2., 3.])

np.fix(a) #ゼロに近い側の整数

array([ 1., 1., 1., 1., 1., 2., 2., 2.])

max(a) #最大

2.4

min(a) #最小

1.0

np.absolute([-1.0,2.0]) #絶対値

array([ 1., 2.])

平方根、対数

math.sqrt(4) #平方根

2.0

4**(1/2) #累乗と割り算を組み合わせても同じ

2.0

math.log(4) #自然対数

1.3862943611198906

math.log10(4) #常用対数はmathのビルトイン関数

0.6020599913279624

math.log(4,2) #2つ目の引数で底を指定、Numpyライブラリにもある"np.log()"

2.0

np.log2(4) #底2の対数はnumpyのビルトイン関数

2.0

np.log10(4) #常用対数はnumpyのビルトイン関数

0.6020599913279624

三角関数

np.pi #弧度法のパイ

3.141592653589793

np.radians(30) #角度をラジアンに変換
# np.deg2rad(30) #同じ結果になる

0.52359877559829882

np.rad2deg(np.deg2rad(30)) #ラジアンを角度に変換

29.999999999999996

np.sin(np.radians(30)) #サイン

0.49999999999999994

np.cos(np.radians(60)) #コサイン

0.50000000000000011

np.tan(np.radians(45)) #タンジェント

0.99999999999999989