Pandas Periodオブジェクトの基礎:is_leap_yearメソッドの使い方とサンプルコード

2024-04-02

Pandas.Period.is_leap_year:Pandasで周期オブジェクトのうるう年判定を行う

pandas.Period.is_leap_yearメソッドは、Periodオブジェクトがうるう年かどうかを判定します。

メソッドの概要

メソッド名説明引数戻り値
pandas.Period.is_leap_yearPeriodオブジェクトがうるう年かどうかを判定なしTrueまたはFalse

import pandas as pd

# Periodオブジェクトを作成
period = pd.Period('2024-03-24')

# うるう年かどうかを判定
is_leap_year = period.is_leap_year()

# 結果を出力
print(is_leap_year)

出力:

False

詳細

pandas.Period.is_leap_yearメソッドは、以下の条件に基づいて、Periodオブジェクトがうるう年かどうかを判定します。

  • 西暦年が4で割り切れる
  • 西暦年が100で割り切れない

補足

  • pandas.Period.is_leap_yearメソッドは、datetime.date.is_leap_yearメソッドと同様の機能を提供します。
  • pandas.Periodオブジェクトは、year属性を使用して、西暦年を取得することができます。
  • pandas.Periodオブジェクトには、is_quarter_startis_quarter_endis_month_startis_month_endなど、日付に関する様々な判定メソッドが用意されています。


Pandas.Period.is_leap_year サンプルコード

サンプルコード1:うるう年判定

import pandas as pd

# 西暦2000年から2024年までのPeriodオブジェクトを作成
periods = pd.period_range('2000', '2024', freq='Y')

# 各Periodオブジェクトがうるう年かどうかを判定
is_leap_years = [period.is_leap_year() for period in periods]

# 結果を出力
print(is_leap_years)
[False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False]

サンプルコード2:うるう年のみにフィルター

import pandas as pd

# 西暦2000年から2024年までのPeriodオブジェクトを作成
periods = pd.period_range('2000', '2024', freq='Y')

# うるう年のPeriodオブジェクトのみを抽出
leap_years = [period for period in periods if period.is_leap_year()]

# 結果を出力
print(leap_years)

出力:

[Period('2000', 'Y'), Period('2004', 'Y'), Period('2008', 'Y'), Period('2012', 'Y'), Period('2016', 'Y'), Period('2020', 'Y'), Period('2024', 'Y')]

サンプルコード3:特定の年のうるう年判定

import pandas as pd

# 西暦2024年のPeriodオブジェクトを作成
period = pd.Period('2024', 'Y')

# うるう年かどうかを判定
is_leap_year = period.is_leap_year()

# 結果を出力
print(is_leap_year)

出力:

False

サンプルコード4:条件分岐

import pandas as pd

# 西暦2024年のPeriodオブジェクトを作成
period = pd.Period('2024', 'Y')

# うるう年かどうかを判定し、条件分岐
if period.is_leap_year():
    print('2024年はうるう年です')
else:
    print('2024年はうるう年ではありません')

出力:

2024年はうるう年ではありません

サンプルコード5:月別のうるう年判定

import pandas as pd

# 西暦2024年の各月のPeriodオブジェクトを作成
periods = pd.period_range('2024-01', '2024-12', freq='M')

# 各Periodオブジェクトがうるう年かどうかを判定
is_leap_years = [period.is_leap_year() for period in periods]

# 結果を出力
print(is_leap_years)

出力:

[False, False, False, False, False, False, False, False, False, False, False, False]

pandas.Period.is_leap_yearメソッドは、Periodオブジェクトがうるう年かどうかを判定する便利なメソッドです。

サンプルコードを参考に、様々な用途で活用してみてください。



Pandas.Period.is_leap_year 以外の方法

datetime.date.is_leap_yearメソッドを使用する

import pandas as pd
from datetime import date

# 西暦2024年のPeriodオブジェクトを作成
period = pd.Period('2024', 'Y')

# datetime.dateオブジェクトに変換
dt = period.to_datetime()

# うるう年かどうかを判定
is_leap_year = date.is_leap_year(dt.year)

# 結果を出力
print(is_leap_year)

出力:

False

西暦年を直接判定する

import pandas as pd

# 西暦2024年のPeriodオブジェクトを作成
period = pd.Period('2024', 'Y')

# 西暦年を取得
year = period.year

# うるう年かどうかを判定
is_leap_year = (year % 4 == 0) and (not (year % 100 == 0) or (year % 400 == 0))

# 結果を出力
print(is_leap_year)

出力:

False

自作関数を使用する

def is_leap_year(year):
  """
  うるう年かどうかを判定する関数

  Args:
    year: 西暦年

  Returns:
    True: うるう年
    False: うるう年ではない
  """

  return (year % 4 == 0) and (not (year % 100 == 0) or (year % 400 == 0))

# 西暦2024年のPeriodオブジェクトを作成
period = pd.Period('2024', 'Y')

# 西暦年を取得
year = period.year

# うるう年かどうかを判定
is_leap_year = is_leap_year(year)

# 結果を出力
print(is_leap_year)

出力:

False

pandas.Period.is_leap_yearメソッド以外にも、datetime.date.is_leap_yearメソッド、西暦年を直接判定する方法、自作関数を使用する方法など、様々な方法でPeriodオブジェクトがうるう年かどうかを判定することができます。

状況に応じて、最適な方法を選択してください。




Pandasでイースターの日付を自在に操る! 5つの強力なサンプルコード

pandas. tseries. offsets. Easter は、イースターの日付を取得するための DateOffset です。DateOffset は、Pandas で日付を操作するための便利なツールであり、特定の期間や規則に基づいて日付を移動することができます。



Pandas Data Offsets と Micro.is_month_start で月の初日を判定

pandas は、Python でデータ分析を行うための強力なライブラリです。Data Offsets は、pandas の重要な機能の一つで、時間ベースのデータの操作を容易にするものです。pandas. tseries. offsets


Pythonで会計年度を扱う:pandas.tseries.offsets.FY5253徹底解説

この解説では、以下の内容について説明します:pandas. tseries. offsets. FY5253の概要FY5253. rollforwardの機能実際のコード例その他の関連情報pandas. tseries. offsets. FY5253は、pandasライブラリのtseries


Pandas.tseries.offsets.CustomBusinessMonthBeginを使いこなす

pandas. tseries. offsets. CustomBusinessMonthBegin. rollback は、Pandasの「Data offsets」機能で、カスタムビジネス月始のオフセットを指定された日付から過去方向にロールバックするために使用されます。


Pandasで月末から15日と月末を表す:SemiMonthEnd.freqstr徹底解説

SemiMonthEndは、月末から15日と月末を表すData Offsetです。例えば、2024年4月15日は月末から15日、2024年4月30日は月末に当たります。SemiMonthEnd. freqstrは、SemiMonthEndオフセットの文字列表現を取得するための属性です。これは、データフレームやインデックスの周波数を表示したり、日付範囲を生成したりする際に役立ちます。



Pandasで月末から2週間後の最初の月曜日を判定:SemiMonthBegin.onOffset徹底解説

pandas. tseries. offsets. SemiMonthBegin は、pandasライブラリで提供される日付オフセットの一つです。これは、月末から2週間後に発生する最初の月曜日を基準とするオフセットです。SemiMonthBegin


Pandas Series のインデックスラベルに接尾辞を追加する:詳細解説とサンプルコード集

メソッドの構文引数suffix: 各ラベルの後に追加する文字列。inplace: デフォルトは False で、元の Series オブジェクトは変更されません。True に設定すると、元のオブジェクトが変更されます。戻り値inplace が False の場合:新しい Series オブジェクトが返されます。インデックスラベルに suffix が追加されたものです。


Pandas の Window と ewm.ExponentialMovingWindow.mean を使ってデータ分析をレベルアップする方法

Pandas の Window は、データフレームの特定の部分に焦点を当てて計算を行うための強力なツールです。これは、データの移動平均、累積和、標準偏差など、さまざまな統計量を計算するために使用できます。ewm. ExponentialMovingWindow


Pandas.tseries.offsets.Tick: 高精度な時間間隔を操る魔法の杖

pandas. tseries. offsets. Tick は、PandasライブラリにおけるDateOffsetサブクラスの一つで、高精度な時間間隔を表現するためのオフセットを提供します。従来のDateOffsetよりも細かい時間単位での操作が可能となり、金融市場データや高頻度データ分析において特に有用です。


Pandasの timedelta64 型を判定する:is_timedelta64_dtype 関数とその他の方法

pandas. api. types. is_timedelta64_dtype 関数は、配列のようなオブジェクトやデータ型が timedelta64 型かどうかを確認するために使用されます。構文引数arr_or_dtype: 配列のようなオブジェクトまたはデータ型