Python Pandas – DateTimeIndexの日付が四半期の最終日かどうかを判定する方法
DateTimeIndex内の日付が四半期の最終日(末日)であるかどうかを確認するには、DateTimeIndex.is_quarter_endプロパティを使用します。このプロパティは、各日付が四半期の最終日に該当する場合にTrue、そうでない場合にFalseを返すブール値の配列を返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
DatetimeIndexの作成
期間6、頻度「15D」(15日間隔)でDatetimeIndexを作成します。タイムゾーンはAustralia/Adelaide(オーストラリア/アデレード)に設定します。
datetimeindex = pd.date_range('2021-6-15 02:30:50', periods=6, tz='Australia/Adelaide', freq='15D')
作成したDateTimeIndexを表示します。
print("DateTimeIndex...\n", datetimeindex)
続いて、DateTimeIndex内の日付が四半期の最終日であるかどうかを確認します。
print("\nCheck whether the date in DateTimeIndex is the last day of the quarter...\n",
datetimeindex.is_quarter_end)
完全なコード例
以下がサンプルコード全体です。
import pandas as pd
# 期間6、頻度15D(15日間隔)のDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaide
datetimeindex = pd.date_range('2021-6-15 02:30:50', periods=6, tz='Australia/Adelaide', freq='15D')
# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)
# DateTimeIndexの頻度を表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)
# 日付が四半期の最終日であるかどうかを確認
# 判定基準となる四半期は以下の通り:
# 第1四半期 = 1月1日〜3月31日
# 第2四半期 = 4月1日〜6月30日
# 第3四半期 = 7月1日〜9月30日
# 第4四半期 = 10月1日〜12月31日
print("\nCheck whether the date in DateTimeIndex is the last day of the quarter...\n",
datetimeindex.is_quarter_end)
出力結果
上記のコードを実行すると、以下のような出力が得られます。
DateTimeIndex... DatetimeIndex(['2021-06-15 02:30:50+09:30', '2021-06-30 02:30:50+09:30', '2021-07-15 02:30:50+09:30', '2021-07-30 02:30:50+09:30', '2021-08-14 02:30:50+09:30', '2021-08-29 02:30:50+09:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='15D') DateTimeIndex frequency... <15 * Days> Check whether the date in DateTimeIndex is the last day of the quarter... [False True False False False False]
結果の解説
出力結果を見ると、「2021-06-30」だけがTrueになっています。これは、この日付が第2四半期(4月1日〜6月30日)の最終日に該当するためです。それ以外の日付はどの四半期の末日にも一致しないため、すべてFalseと判定されています。
なお、is_quarter_endと対になるプロパティとして、日付が四半期の初日かどうかを判定するis_quarter_startも用意されています。四半期ごとの集計やレポート処理などで活用すると便利です。
-
Python・Pandasシリーズの最後の要素にアクセスする方法
Pandasシリーズの最後の要素にアクセスするには、iat属性を使用するのが便利です。iatは、行と列の位置を整数(インデックス番号)で指定して単一の値を高速に取得するための属性であり、負のインデックス「-1」を指定すれば、末尾の要素に直接アクセスできます。必要なライブラリのインポートまず、Pandasライブラリをインポートします。import pandas as pdサンプルデータの作成数値を含むPandasシリーズを作成します。data = pd.Series([10, 20, 5, 65, 75, 85, 30, 100])iatで最後の要素を取得するiatに「-1」を渡すことで、シリー
-
Pythonで日付から「年の何日目か」を求める方法
「YYYY-MM-DD」形式の日付が与えられたとき、その日がその年の何日目にあたるかを返すプログラムを考えてみましょう。たとえば、日付が「2019-02-10」であれば、これはその年の41日目に相当します。 解決のための手順 この問題は、以下のステップで解くことができます。 各月の日数を格納した配列Dを用意します。例:[0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 日付文字列を年・月・日のリストに変換します。 うるう年の場合は、2月の日数を29日に変更します。 1月から(対象の月 − 1)までの累積日数を合計し、そこに「日」の数を加えて