日々のつれづれ

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

Pythonことはじめ

Jupyter Notebookが高機能すぎて驚いてる
IE上でコード書いて、走らせて、数式はLatexの表記を使える
もう、「すごい」か言葉が出てこない

で、本題

プログラムの書籍でよくある「Hello World!!」ってやつ
コンソールに入力が出るのはうれしいかもしれない
けど、実際にやりたいことはRでやってた数値演算なんだよね

ってことで、Hello World!!はスキップして四則演算をしてみる

基本的な計算

数値処理にはMathライブラリ、Numpyライブラリ、pandasライブラリってのがあるような

数値演算一覧

関数 意味 出力 Rの場合
+ 足し算 1 + 1 2 同じ
- 引き算 1 - 1 0 同じ
* 掛け算 2 * 3 6 同じ
/ 割り算 30 / 4 7.5 同じ
// 30 // 4 7 %/%
% 余り 30 % 4 2 %%
** べき乗 2 ** 3 8 ^
np.exp() 指数 np.exp(3) 20.086 exp()
np.round() 四捨五入 np.round(1.2) 1. round()
np.trunc() 整数のみ np.truc(1.2) 1. trunc()
np.fix() 0に近いほうの整数 np.fix(1.2) 1. trunc()
np.floor 小さい方の整数 np.floor(1.2) 1. floor()
np.ceil() 大きいほうの整数 np.ceil(1.2) 2. ceiling()
max() 最大値 np.max([1.0,1.2,1.4]) 1.4 max()
min() 最小値 np.min([1.0,1.2,1.4]) 1. min()
np.absolute() 絶対値 np.max(1.2) 1.2 abs()
math.sqrt() 平方根 math.sqrt(4) 2.0 sqrt()
math.log() 自然対数 math.log(4) 1.386 log()
math.log10(), np.log10() 常用対数 math.log10(4) 0.602 log10()
np.log2() 底が2の対数 np.log2(4) 2.0 log2()
np.pi \pi 3.141692 pi
np.radians() 角度をラジアン(rad)に変換 np.radian(30) 0.523 library(pracma), rad2deg()
np.rad2deg() ラジアンを角度に変換 rad2geg(np.radian(30)) 29.999 library(pracma), deg2rad()
np.sin() サイン np.sin(np.radian(30)) 29.999 sin()
np.cos() コサイン np.cos(np.radian(60)) 0.500 cos()
np.tan() タンジェント np.ran(np.radian(45)) 0.999 tan()
np.range() 連続数 np.range(3) 0,1,2 seq()
np.arrange() 等差数列 np.arrange(start=1, stop=10, step=2) 1,3,5,7,9 seq(n, m, b)
np.linspace 等差数列 np.linspace(start=1,stop=10,num=5,endpoint=False) 1.,2.8,4.6,6.4,8.2

rad2degとかdeg2radは自作してもいいと思う

rad2deg <- function(rad) {(rad * 180) / (pi)}  
deg2rad <- function(deg) {(deg * pi) / (180)}

ここまでみると、Rと似た文法だから覚えるのはストレスないかも
ただ、Pythonは”パッケージ名"."関数名"って記載するから、そこが忘れやすいだろうな、って思う
Rは同じ名称の関数は後に読み込んだパッケージが優先されるんだっけ

2018.2.12更新
Rのコード部分をバッククオートにした
iPhoneでバッククオート入力にとまどったよ
appleの独自ルールみたいな入力方式はホントやめて欲しい