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