関数、メソッド、ライブラリ

R ユーザーのための Python

Daniel Chen

Instructor

関数の呼び出し

  • RとPythonの関数は同様に動作する
  • Python:関数とメソッド
R ユーザーのための Python

メソッドと関数の違い

  • Pythonはオブジェクト指向
    • 属性
    • メソッド
  • メソッドはオブジェクトが自身に対して呼び出す関数
  • 関数はオブジェクトに対して呼び出す
l = [0, 1, 2, 3, 4]
len(l)   # call a function
l.len()  # not a method
R ユーザーのための Python

Pythonにおけるピリオドの特別な意味

ピリオドには非常に特定の意味と用途がある

R ユーザーのための Python

リストへの追加

l = [1, "2", True]

l.append('appended value')

l
[1, '2', True, 'appended value']
R ユーザーのための Python

辞書の更新

d = {'int_value':3, 'bool_value':False, 'str_value':'hello'}

d.update({'str_value':'new_value', 'new_key':'new_value'})

d
{'bool_value': False,
 'int_value': 3,
 'new_key': 'new_value',
 'str_value': 'new_value'}
R ユーザーのための Python

メソッドはオブジェクトに固有

d.append('hello')
 ------------------------------------------------------------------
AttributeError                    Traceback (most recent call last)
<ipython-input-4-42922a99ec56> in <module>()
<hr />-> 1 d.append('hello')

AttributeError: 'dict' object has no attribute 'append'
R ユーザーのための Python

ライブラリ

  • ライブラリで機能を拡張できる
  • 配列とデータフレームはPython組み込みではない
  • 配列・行列はnumpyから提供
  • データフレームはpandasから提供
R ユーザーのための Python

Numpy ndarray

R
library(readr)
dat <- read_csv('my_file.csv')
Python
import numpy
arr = numpy.loadtxt('my_file.csv', delimiter=',')

import numpy as np
arr = np.loadtxt('my_file.csv', delimiter=',')
R ユーザーのための Python

Pandas DataFrame

import pandas as pd

df = pd.read_csv('my_file.csv')
df.head()
R ユーザーのための Python

練習しましょう!

R ユーザーのための Python

Preparing Video For Download...