Python Pandas – Periodオブジェクトから年を取得する方法
PythonのPandasライブラリで、Periodオブジェクトから「年」を取得するには、period.yearプロパティを使用します。このプロパティにアクセスするだけで、Periodが表す期間の年部分を整数値として簡単に取り出すことができます。
Pandasのインポート
まずは、必要なライブラリをインポートしましょう。
import pandas as pd
Periodオブジェクトとは
pandas.Periodは、特定の期間(時点)を表すオブジェクトです。日付文字列や個別の年・月・日などの値を指定して作成できます。
ここでは、2つのPeriodオブジェクトを作成してみます。1つ目は日付文字列から、2つ目は頻度(freq)と年月日などの各要素を明示的に指定して生成します。
period1 = pd.Period("2020-09-23")
period2 = pd.Period(freq="D", year=2021, month=4, day=16, hour=2, minute=35)作成したPeriodオブジェクトを表示して確認します。
print("Period1...\n", period1)
print("Period2...\n", period2)yearプロパティで年を取得する
それぞれのPeriodオブジェクトからyearプロパティを使って年を取得します。
res1 = period1.year res2 = period2.year
完全なサンプルコード
以下が実行コード全体です。
import pandas as pd
# pandas.Periodは期間(時点)を表すオブジェクト
# 2つのPeriodオブジェクトを作成
period1 = pd.Period("2020-09-23")
period2 = pd.Period(freq="D", year=2021, month=4, day=16, hour=2, minute=35)
# Periodオブジェクトを表示
print("Period1...\n", period1)
print("Period2...\n", period2)
# 各Periodオブジェクトから年を取得
res1 = period1.year
res2 = period2.year
# 取得した年を表示
print("\n1つ目のPeriodオブジェクトの年 ...\n", res1)
print("\n2つ目のPeriodオブジェクトの年 ...\n", res2)実行結果
上記のコードを実行すると、次のような出力が得られます。
Period1... 2020-09-23 Period2... 2021-04-16 1つ目のPeriodオブジェクトの年 ... 2020 2つ目のPeriodオブジェクトの年 ... 2021
まとめ
Periodオブジェクトから年を取得するには、yearプロパティを使うのが最もシンプルです。同様に、monthプロパティで月、dayプロパティで日を取得することもできるため、日付データの加工や集計処理において非常に便利です。
-
Python Pandas – Timedeltaオブジェクトから継続時間の合計秒数を取得する方法
Timedeltaオブジェクトから継続時間の合計秒数を取得するには、timedelta.total_seconds() メソッドを使用します。このメソッドは、Timedeltaが表す期間全体を秒単位の浮動小数点数(float)として返します。まず、必要なライブラリをインポートします。import pandas as pdTimeDeltaはPython標準のdatetimeライブラリにおけるtimedeltaとは異なる表現を持つデータ型です。ここでは、PandasのTimedeltaオブジェクトを作成します。timedelta = pd.Timedelta(2 days 11 hours 22
-
Python・PandasのTimestampオブジェクトから曜日を取得する方法
PandasのTimestampオブジェクトから曜日を取得するには、timestamp.weekday()メソッドを使用します。このメソッドは、対象の日付が何曜日に該当するかを数値で返してくれます。まずは、必要なライブラリをインポートしましょう。import pandas as pd import datetimeTimestampオブジェクトの作成次に、Pandasでタイムスタンプを設定し、Timestampオブジェクトを作成します。ここでは例として「2021年5月12日」を使用します。timestamp = pd.Timestamp(datetime.datetime(2021, 5, 1