俺のOneNote

俺のOneNote

データ分析が仕事な人のOneNote愛とか、分析小話とか。

R と Python よく出るテーブル処理対応表

RとPythonのよくやるテーブル処理の操作覚書。

#python
import pandas as pd
pd.__version__
# '1.0.3'
#R
library("tidyverse")
packageVersion("tidyverse")
#  ‘1.3.0’
  • 厳密にはアウトプットの内容が完全に一致するものを並べているわけではありません。
  • 単純な関数・メソッドで、似たような目的の処理ができるものの対比です。
  • 同じ目的で並べてる関数・メソッドで、返り値や型が一致しないものもあります。
  • R, Pythonともに不自由なので、他にもっとよい関数等が存在すると思います。ご容赦ください。
  • 自分自身の覚書なので随時更新するかもです。

テーブルデータ(csv)の読み込み

内容 R Python
csv読み込み(ヘッダー付き) read.csv("hoge.csv") pd.read_csv("hoge.csv")
csv読み込み(ヘッダー無し) read.csv("hoge.csv", header = F ) pd.read_csv("hoge.csv", header=None)

テーブルデータの概略確認

内容 R Python
行列数の確認 dim(df) df.shape
データ型の確認 str(df) df.dtypes
先頭行の確認 head(df) df.head()
要約統計量の確認 summary(df)  df.describe(include="all")

行列の抽出

内容 R Python
カラム名を指定 df$hoge
df[,"hoge"]
df["hoge"]
df.loc[:,"hoge"]
カラム番号を指定 select(df, c(1:3))
df.iloc[:,range(0,3)]
条件指定行を抽出 filter(df, hoge == "abc" ) df[df["hoge"]=="abc"]

新規列挿入

内容 R Python
新しい列を挿入 mutate(df, hoge = 10) df["hoge"] = 10

集計

内容 R Python
groupbyで集計 group_by(df, col) %>% summarise(hoge = sum(values)) df.groupby("col").sum()["values"]

Merge

内容 R Python
inner join inner_join(df1 , df2 ,by="hoge") pd.merge(df1, df2, on='hoge', how='inner')
left outer join left_join(df1 , df2 ,by="hoge") pd.merge(df1, df2, on='hoge', how='inner')