RとPythonの早見表 (1) 変数,文字列などの扱い

最近,業務でPythonを始めないといけない状況になってきたので,今まで使ってきたRと早見表があれば,便利だろうなーと思ったので作ってみました.テキストはオライリーの「入門 Python 3」.分厚いですけど,かなり平易なところから書いてるのでまずはこれで.

今後も追加していきますが,まずはごくごく最初の段階から.

ちなみに,やってる処理内容は全く意味がありません.Rでこういうコマンドを実行するとき,Pythonではどうやって書くのか?という点に着目して書いた表です.

R Python
 > # シャープ記号はコメント
 > x <- 10;
 > class(x)
 [1] “numeric”

 > y <- “abcde”;
 > class(y)
 [1] “character”

 > x <- 10.345
 > x %% 10 # 剰余
 [1] 0.345

 > x^2 # 2乗の計算
 [1] 107.019

 > x <- x - 2
 > print(x)
 [1] 8.345

 > as.numeric("123")+1 # 型変換
 [1] 124

 > paste("abc","def",sep="")
 [1] "abcdef"

 > x <- c('a','b','z')
 > x
 [1] "a" "b" "z"

 > length(x)
 [1] 3

 >
 > x <- 1:9
 > x
 [1] 1 2 3 4 5 6 7 8 9
 > x[2]
 [1] 2
 > x[1]
 [1] 1
 > length(x)
 [1] 9

 > x <- matrix(1,2,3)
 > x
 [,1] [,2] [,3]
 [1,] 1 1 1
 [2,] 1 1 1

 >
 > dim(x)
 [1] 2 3
 > dim(x)[1]
 [1] 2
 > dim(x)[2]
 [1] 3

 > x <- matrix(rnorm(8),2,4)
 > x
 [,1] [,2] [,3] [,4]
 [1,] 0.324 0.264 0.724 -0.639
 [2,] -0.0503 0.857 -0.281 -0.574

 > x[1,2:3]
 [1] 0.264 0.724

 >
>>> # シャープ記号はコメント
>>> x = 10
>>> type(x)
<class 'int'>

>>> y = 'abcde' # “でも可
>>> type(y)
<class 'str'>

>>> x = 10.345
>>> x % 10  # 剰余
0.34500000000000064

>>> x ** 2    # 2乗の計算
107.01902500000001

>>> x -= 2  # Cと同様+=, /=, *=も可
>>> print(x)
8.345

>>> int('123')+1 # 型変換.他はstr,float
124

>>> 'abc'+'def'  #文字列の連結
'abcdef'

>>> x = ['a', 'b', 'c']
>>> x
['a', 'b', 'c']

>>> len(x)
3

>>> import numpy as np # NumPyをインポート
>>> x = np.arange(1,10,1) # 1<=x<10で1刻み
>>> x
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> x[1]
2
>>> x[0] # pythonは0番目から
1
>>> len(x)
9

>>> x = np.ones((2,3)) # zerosも可能
>>> x
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
 
 
>>> 
>>> x.shape
(2, 3)
>>> x.shape[0]
2
>>> x.shape[1]
3
 
>>> x = np.random.random((2,4))
>>> x
array([[ 0.641,  0.937,  0.215,  0.598],
       [ 0.223,  0.070,  0.711,  0.188]])
 
 
>>> x[0,1:3]  # x[0,3]が表示されないので注意
array([ 0.937,  0.215])

>>>

※乱数の小数点以下は実際より桁を少なく表示してます.