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] となっています。このように、時系列データの中から月初のデータだけを抽出・判定したい場合に、このプロパティは非常に便利です。
-
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]
-
Pythonで特定の年の最初の日(1月1日の曜日)を取得する方法
このプログラムでは、指定した年の最初の日(1月1日)が何曜日にあたるかを出力します。対象となる年は、ユーザーからの入力として受け取ります。処理の流れ(アルゴリズム)ステップ1:datetimeライブラリをインポートする。 ステップ2:ユーザーから年を入力として受け取る。 ステップ3:datetime.datetime()関数に「年・月・日」を引数として渡し、その年の最初の日を取得する。 ステップ4:strftime()関数を使って、最初の日の曜日を表示する。サンプルコードimport datetime year = int(input(Enter year: )) firstday = dat