Python Pandas – Periodオブジェクトからその年がうるう年かどうかを確認する方法
Periodオブジェクトから、その年がうるう年(閏年)かどうかを確認するには、period.is_leap_year プロパティを使用します。このプロパティは、Periodオブジェクトが属する年がうるう年であれば True、そうでなければ False を返します。
まず、必要なライブラリをインポートしましょう。
import pandas as pd
pandas.Period は、一定の期間(時点)を表すオブジェクトです。ここでは、2つのPeriodオブジェクトを作成します。
period1 = pd.Period("2020-09-23 05:55:30")
period2 = pd.Period(freq="Y", year=2021, month=7, day=16, hour=2, minute=35)作成したPeriodオブジェクトを表示してみます。
print("Period1...\n", period1)
print("Period2...\n", period2)続いて、それぞれの年がうるう年かどうかを確認します。
res1 = period1.is_leap_year res2 = period2.is_leap_year
実行例
以下に完全なサンプルコードを示します。
import pandas as pd
# pandas.Period は期間を表すオブジェクト
# 2つのPeriodオブジェクトを作成
period1 = pd.Period("2020-09-23 05:55:30")
period2 = pd.Period(freq="Y", year=2021, month=7, day=16, hour=2, minute=35)
# Periodオブジェクトを表示
print("Period1...\n", period1)
print("Period2...\n", period2)
# その年がうるう年かどうかを確認
res1 = period1.is_leap_year
res2 = period2.is_leap_year
# うるう年の場合はTrue、それ以外はFalseを返す
print("\n1つ目のPeriodオブジェクトの年はうるう年か...\n", res1)
print("\n2つ目のPeriodオブジェクトの年はうるう年か...\n", res2)出力結果
上記のコードを実行すると、次のような出力が得られます。
Period1... 2020-09-23 05:55:30 Period2... 2021 1つ目のPeriodオブジェクトの年はうるう年か... True 2つ目のPeriodオブジェクトの年はうるう年か... False
解説
1つ目のPeriodオブジェクト「2020」は、4で割り切れる年であるためうるう年と判定され、True が返されます。一方、2つ目のPeriodオブジェクト「2021」はうるう年ではないため、False が返されます。
このように、is_leap_year プロパティを使えば、日付や頻度(freq)を指定して作成したPeriodオブジェクトから、簡単にうるう年かどうかを判定できます。日付データの前処理や集計処理において、年ごとの日数計算などが必要な場面で非常に便利です。
-
Python Pandas:Timedeltaオブジェクトからナノ秒の値を取得する方法
Timedeltaオブジェクトからナノ秒の値を取得するには、timedelta.nanosecondsプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdTimeDeltaは、Python標準のdatetimeライブラリにおける時間差(timedelta)の表現をもとにした機能です。ここでは、Timedeltaオブジェクトを作成します。timedelta = pd.Timedelta(4 days 10 min 25 s 15 ms 33 ns)作成したTimedeltaオブジェクトを表示してみます。print(Timedelta...\
-
Python・Pandasでインデックスがobject型(dtype)かどうかを確認する方法
Pandasのインデックスがobject型(dtype)であるかどうかを確認するには、index.is_object()メソッドを使用します。このメソッドは、インデックスの値がobject型であればTrue、そうでなければFalseを返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPandasインデックスの作成文字列や数値など、異なる型が混在したPandasインデックスを作成します。index = pd.Index(["Electronics", 6, 10.5, "Accessories&qu