Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:DateOffsetを作成して日付をインクリメントする方法

PandasでDateOffsetを作成するには、DateOffset()メソッドを使用します。引数に増分値を指定することで、日付や時刻を自由に加算・減算できます。

必要なライブラリのインポート

まず、DateOffsetとPandasをインポートします。

from pandas.tseries.offsets import DateOffset
import pandas as pd

タイムスタンプオブジェクトの作成

次に、Pandasでタイムスタンプオブジェクトを作成します。

timestamp = pd.Timestamp('2021-09-11 02:30:55')

DateOffsetによる日付のインクリメント

ここでは「months」パラメータを使用して、月数を加算しています。タイムスタンプにDateOffsetを足すだけで、指定した期間だけ日付が進みます。

print("DateOffset...\n", timestamp + DateOffset(months=2))

サンプルコード

以下に完全なコード例を示します。

from pandas.tseries.offsets import DateOffset
import pandas as pd

# Pandasでタイムスタンプオブジェクトを作成
timestamp = pd.Timestamp('2021-09-11 02:30:55')

# タイムスタンプを表示
print("Timestamp...\n", timestamp)

# DateOffsetで日付をインクリメント
# 「months」パラメータを使って2か月を加算
print("DateOffset...\n", timestamp + DateOffset(months=2))

実行結果

上記のコードを実行すると、以下のような出力が得られます。

Timestamp...
2021-09-11 02:30:55
DateOffset...
2021-11-11 02:30:55

このように、元のタイムスタンプ「2021-09-11」から2か月後の「2021-11-11」が正しく出力されました。時刻部分(02:30:55)はそのまま維持される点にも注目してください。

なお、DateOffsetでは「months」以外にも、「days」「years」「hours」「minutes」などのパラメータが利用可能です。負の値を指定すれば、日付を過去方向へシフトすることもできます。日付データの前処理や時系列分析において非常に便利な機能なので、ぜひ活用してみてください。

  1. Python Pandasでのグループ化(groupby)と合計(sum)の求め方

    PythonのPandasでデータをグループごとに集計して合計値を求めたい場合は、groupby(columns).sum()を使用します。groupby()で指定した列の値をキーにデータをグループ化し、sum()で各グループの合計を計算できます。 手順 サイズ変更可能な2次元の表形式データであるDataFrame(df)を作成します。 入力用のDataFrame(df)を出力して内容を確認します。 df.groupby().sum()を使ってグループごとの合計を求めます。この関数は指定された列を受け取り、その値をソートします。その後、ソートされた値に基づいて他の列の値も並べ替えます。 グル

  2. Pythonにインクリメント・デクリメント演算子はない?代わりの書き方を徹底解説

    この記事では、Pythonにおけるインクリメント(増加)とデクリメント(減少)の実装方法について詳しく解説します。Pythonには「++」「--」演算子が存在しないC言語やJava、JavaScriptなどの多くのプログラミング言語には、値を1だけ増減させるための前置・後置インクリメント演算子(++)やデクリメント演算子(--)が用意されています。しかし、Pythonにはこれらの演算子は存在しません。これは「明示的であることが暗黙的であるよりも良い(Explicit is better than implicit)」というPythonの設計思想によるもので、コードの可読性を重視するためです。と