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

Python Pandas入門:DateTimeIndexの日付が月の初日かどうかを判定する方法

DateTimeIndexに含まれる日付が月の初日(1日)であるかどうかを確認するには、Pandasの DateTimeIndex.is_month_start プロパティを使用します。このプロパティは、各日付に対して月の初日であれば True、そうでなければ False を返すブール値の配列を生成します。

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

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

import pandas as pd

DatetimeIndexの作成

次に、期間6・頻度「5D」(5日間隔)でDatetimeIndexを作成します。タイムゾーンはオーストラリアのアデレード(Australia/Adelaide)を指定します。

datetimeindex = pd.date_range('2021-9-21 02:30:50', periods=6, tz='Australia/Adelaide', freq='5D')

作成したDateTimeIndexを表示してみましょう。

print("DateTimeIndex...\n", datetimeindex)

さらに、各日付が月の初日であるかどうかを確認します。

print("\nDateTimeIndexの日付が月の初日かどうかを確認...\n",
datetimeindex.is_month_start)

サンプルコード

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

import pandas as pd

# 期間6・頻度5D(5日間隔)のDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaideを指定
datetimeindex = pd.date_range('2021-9-21 02:30:50', periods=6, tz='Australia/Adelaide', freq='5D')

# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)

# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# 各日付が月の初日かどうかを確認
print("\nDateTimeIndexの日付が月の初日かどうかを確認...\n",
datetimeindex.is_month_start)

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-09-21 02:30:50+09:30', '2021-09-26 02:30:50+09:30',
'2021-10-01 02:30:50+09:30', '2021-10-06 02:30:50+10:30',
'2021-10-11 02:30:50+10:30', '2021-10-16 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='5D')
DateTimeIndex frequency...
<5 * Days>

DateTimeIndexの日付が月の初日かどうかを確認...
[False False True False False False]

結果の解説

出力結果を見ると、生成された6つの日付のうち、3番目の「2021-10-01」のみが月の初日であるため、is_month_start の結果は [False False True False False False] となっています。このように、時系列データの中から月初のデータだけを抽出・判定したい場合に、このプロパティは非常に便利です。

  1. Python Pandas入門:index.duplicated()で最初の出現を除いた重複インデックス値を検出する方法

    Pandasで最初の出現を除いて重複するインデックス値を検出するには、index.duplicated() メソッドを使用します。keep パラメータに first を指定すると、各値の初回出現は False(重複ではない)と判定され、2回目以降の出現のみが True として返されます。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd 重複を含むインデックスの作成 重複する要素(Airplane)を含むインデックスを作成します。 index = pd.Index([Car,Bike,Airplane,Ship,Airplane]

  2. Pythonで特定の年の最初の日(1月1日の曜日)を取得する方法

    このプログラムでは、指定した年の最初の日(1月1日)が何曜日にあたるかを出力します。対象となる年は、ユーザーからの入力として受け取ります。処理の流れ(アルゴリズム)ステップ1:datetimeライブラリをインポートする。 ステップ2:ユーザーから年を入力として受け取る。 ステップ3:datetime.datetime()関数に「年・月・日」を引数として渡し、その年の最初の日を取得する。 ステップ4:strftime()関数を使って、最初の日の曜日を表示する。サンプルコードimport datetime year = int(input(Enter year: )) firstday = dat