pandasで日付と時刻を効率的に操作するテクニック

この記事では、Pythonのデータ解析ライブラリであるpandasを使った日付と時刻の操作について解説します。pandasはデータ分析作業を効率的に行うための多機能なライブラリで、日付や時刻に関するデータも柔軟に扱えます。この記事では基本的な操作から応用例まで、具体的なコードとその解説を交えてご紹介します。

目次

基本的な日付・時刻の操作

pandasを使って日付と時刻を操作する際の基本的なテクニックについて説明します。

日付・時刻データの生成

pandasでは`pd.Timestamp`を使って日付・時刻データを生成できます。

import pandas as pd

# 2021年10月15日の日付データを生成
date = pd.Timestamp("2021-10-15")
print(date)

日付・時刻の足し算・引き算

日付や時刻に対して加算や減算も簡単に行えます。

# 1日後の日付を求める
date_after_one_day = date + pd.Timedelta(days=1)
print(date_after_one_day)

日付・時刻データの応用操作

ここでは少し高度な日付・時刻の操作について説明します。

期間内の全ての日付を生成する

特定の期間内の日付を一覧で生成する方法です。

# 2021年1月1日から2021年1月10日までの日付を生成
date_range = pd.date_range(start="2021-01-01", end="2021-01-10")
print(date_range)

曜日名や月名を取得する

日付データから曜日や月の名前を取得するテクニックです。

# 曜日名を取得
day_name = date.day_name()
print(day_name)

# 月名を取得
month_name = date.month_name()
print(month_name)

応用例

特定の条件に一致する日付をフィルタリングする

データフレーム内で特定の条件に一致する日付をフィルタリングする方法です。

# サンプルデータ
df = pd.DataFrame({
    "date": pd.date_range(start="2021-01-01", end="2021-01-10"),
    "value": range(10)
})

# 2021年1月5日以後のデータをフィルタリング
filtered_df = df[df["date"] > "2021-01-05"]
print(filtered_df)

日付データを月や年で集計する

日付データを月や年単位で集計する方法を示します。

# 日付データを月で集計
df["month"] = df["date"].dt.to_period("M")
monthly_summary = df.groupby("month").sum()
print(monthly_summary)

まとめ

pandasを使えば日付と時刻の操作が非常に簡単で高度なものまで行えます。これらのテクニックを理解しておくことで、データ解析作業がぐっと楽になります。特に日付データはビジネスの多くの場面で使われるため、この知識は非常に価値があります。

コメント

コメントする

目次