RユーザのためのlubridateとPython datetimeの対応表

Rは使い慣れている私のPython備忘録です。

はじめに

R lubridate Python datetime 説明
library(lubridate) import datetime はじめに

作る

R lubridate Python datetime 説明
today() datetime.date.today()

今日
now() datetime.datetime.now()

ymd(20180101), ymd_hms("2018-01-01 00:00:01") datetime.datetime.strptime("2018-01-01", "%Y-%m-%d") 文字列から生成
make_date(2018, 1, 1) datetime.date(2018, 1, 1) 要素から日付を作る
make_datetime(2018, 1, 1, 0, 0, 1) datetime.datetime(2018, 1, 1, 0, 0, 1) 要素から日時を作る

変換

R lubridate Python datetime 説明
d <- today() d = datetime.date.today() とする
as_date(now()) datetime.datetime.now().date() 日時を日付にパース
year(d) d.year
month(d) d.montj
month(d, label = TRUE) d.strftime("%b") 月(文字列)
mday(d) d.day
yday(d) (d - d.replace(month = 1, day = 1)).days + 1 年初からの経過日
wday(d) (d.isoweekday() + 1) % 7 曜日(数)
wday(d, label = TRUE) d.strftime("%a") 曜日(文字列)
floor_date(d, "month") d.replace(day = 1) 足切り
update(d, year = 2020) d.replace(year = 2020) 要素を指定して変更

R lubridate Python datetime 説明
d + 1 d + datetime.timedelta(days = 1) 一日ずらす
d + dyears(1) 一年ずらす
(d - make_date(1985, 5, 7))/ddays(1) (d - datetime.date(1985, 5, 7)).days 経過日数

タイムゾーン

R lubridate Python datetime 説明
now(tz = "Japan") タイムゾーンを指定して取得
make_datetime(1985, 5, 7, tz = "Japan") タイムゾーンを指定して作成
with_tz(now(), tz = "UCT") タイムゾーンの変更

Pythonのタイムゾーンはお手軽な指定方法は無いのか。
https://takatoshiono.hatenablog.com/entry/2014/12/18/192726

見えてき次第、追加変更していきます。

【ドキュメント】

datetime
lubridate

コメントを残す