Python と R の違い (データフレーム編)

本ページでは、前編に引き続いて、Ajay Ohri 氏のスライド、”Python for R Users” からデータフレームの取り扱いにおける Python と R の関数の対応表を紹介します。

データフレームの作成

R Python
A <- matrix(runif(24,0,1), nrow=6, ncol=4)
df <- data.frame(A)
  
import numpy as np
import pandas as pd

A = np.random.randn(6, 4)
df = pd.DataFrame(A)
  

データフレームの確認と参照

R Python
# 行の名前を取得
rownames(df)

# 列の名前を取得
colnames(df)

# 先頭 n 行を表示
head(df, n)

# 末尾 n 行を表示
tail(df, n)

# データフレームの次元数を取得
dim(df)

# データフレームのカラムの長さを取得
length(df)

# 基本統計量 (平均, 分散など) を取得
summary(df)

# 行名をセット
rownames(df) <- c("A","B","C","D")

# 列名をセット
colnames(df) <- c("A","B","C","D")
  
# 行の名前を取得
df.index

# 列の名前を取得
df.column

# 先頭 n 行を表示
df.head(n)

# 末尾 n 行を表示
df.tail(n)

# データフレームの次元数を取得
df.shape

# データフレームのカラムの長さを取得
len(df)

# 基本統計量 (平均, 分散など) を取得
df.describe()

# 行名をセット
df.index = ["A","B","C","D"]

# 列名をセット
df.columns = ["A","B","C","D"]
  

データフレームのソート (並び替え)

R Python
# P 列の昇順に並び替え
df[order(df$P),]

  
# P 列の昇順に並び替え
df.sort(["P"])
  

データフレームからデータを抽出する

R Python
# x 行目 から y 行目までを抽出
df[x:y,]

# 列 X と列 Y を抽出
df[c("X", "Y")]

# x-y 行目、a-b 列目を抽出
df[x:y, a:b]

# x 行, y 列の要素を取得
df[x, y]

# A 列が 0 よりも大きいレコードのみを抽出
subset(df, A>0)
  
# x 行目 から y 行目までを抽出
df[x-1:y]

# 列 X と列 Y を抽出
df.loc[:, ['X', 'Y']]

# x-y 行目、a-b 列目を抽出
df.iloc[x-1:y, a-1:b]

# x 行, y 列の要素を取得
df.iat[x-1, y-1]

# A 列が 0 よりも大きいレコードのみを抽出
df[df.A > 0]
  

このページの続き Python と R の違い (数学関数・データ整形加工編) はこちら