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

Python PandasでPeriodIndexを作成し、月の日数を取得する方法

pandas.PeriodIndex()メソッドを使用すると、PeriodIndexを作成できます。また、各月の日数を取得するには、PeriodIndex.daysinmonthプロパティを利用します。この記事では、実際のコード例とともにその手順をわかりやすく解説します。

ライブラリのインポート

まず、必要なライブラリをインポートします。

import pandas as pd

PeriodIndexオブジェクトの作成

PeriodIndexは、時間軸上の一定の期間(period)を表す序数値を格納した不変(immutable)のndarrayです。ここでは「freq」パラメータを使って頻度を日単位("D")に設定し、複数の日付からPeriodIndexオブジェクトを作成します。

periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

作成したPeriodIndexオブジェクトを表示してみましょう。

print("PeriodIndex...\n", periodIndex)

さらに、daysinmonthプロパティを使うことで、PeriodIndexに含まれる各日付が属する月の日数を取得できます。

print("\nDays of the specific month from the PeriodIndex...\n", periodIndex.daysinmonth)

完全なコード例

以下に、これまでの手順をまとめた完全なコードを示します。

import pandas as pd

# PeriodIndexオブジェクトを作成
# PeriodIndexは、時間における一定の期間を示す序数値を保持する不変のndarray
# 「freq」パラメータで頻度を設定
periodIndex = pd.PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20',
'2021-09-15', '2022-03-12', '2023-06-18'], freq="D")

# PeriodIndexオブジェクトを表示
print("PeriodIndex...\n", periodIndex)

# PeriodIndexの頻度を表示
print("\nPeriodIndex frequency...\n", periodIndex.freq)

# 月の番号を表示(1 = 1月、2 = 2月 ... 12 = 12月)
print("\nMonth number...\n", periodIndex.month)

# 各日付が属する月の日数を表示
print("\nDays of the specific month from the PeriodIndex...\n", periodIndex.daysinmonth)

実行結果

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

PeriodIndex...
PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20', '2021-09-15', '2022-03-12', '2023-06-18'],
dtype='period[D]')

PeriodIndex frequency...
<Day>

Month number...
Int64Index([7, 10, 11, 9, 3, 6], dtype='int64')

Days of the specific month from the PeriodIndex...
Int64Index([31, 31, 30, 30, 31, 30], dtype='int64')

このように、daysinmonthプロパティを使えば、例えば2018年7月は31日、2020年11月は30日といった具合に、各日付が属する月の日数を簡単に取得できます。うるう年の2月なども自動的に正しく判定されるため、日付に関するデータ分析において非常に便利な機能です。

  1. Python Pandas – Period(期間)オブジェクトから月の日付を取得する方法

    はじめにpandasのPeriodオブジェクトが属する「月の日」(日付の日部分)を取得するには、period.dayプロパティを使用します。このプロパティは、対象となる期間が何日のものかを整数値として返してくれます。必要なライブラリのインポートまず、必要なライブラリをインポートしましょう。import pandas as pdPeriodオブジェクトの作成pandas.Periodは、特定の期間(時点)を表すオブジェクトです。ここでは、2つのPeriodオブジェクトを作成してみます。period1 = pd.Period("2021-09-18") period2 = pd

  2. Pythonで月の最終日を取得する方法【calendarモジュールの使い方】

    Pythonでは、標準ライブラリのcalendarモジュールを使うことで、指定した月の最終日(末日)を簡単に取得できます。calendarモジュールにはmonthrange(year, month)という便利なメソッドが用意されており、指定した年・月の「1日の曜日」と「その月の日数」をタプルで返します。この情報を組み合わせれば、月の最終日の日付や曜日を自在に求めることが可能です。 monthrange()メソッドの基本 calendar.monthrange(year, month)は、以下の2つの値を返します。 第1戻り値:その月の1日の曜日(0が日曜日、6が土曜日) 第2戻り値:その月の