1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python 時系列データを「年度ごと」に集計する

Last updated at Posted at 2023-10-18

何がしたいのか?

時系列データがあって、これを「年ごと」ではなく「年度ごと」に集計したい。

例えば下記のような「請求情報」があって、年度ごとに合計したい。

import pandas as pd

# サンプルデータ
data = {
    '請求月': ['2020-02-01', '2020-05-01', '2021-02-01', '2021-04-01'],
    '請求ID': [1, 2, 3, 4],
    '請求金額': [1000, 2000, 1500, 2500],
    '取引先名': ['AA', 'BB', 'CC', 'DD']
}
df = pd.DataFrame(data)

# 請求月を日付型に変換
df['請求月'] = pd.to_datetime(df['請求月'])

df

image.png

こうするといいようだ

★コメントいただき、もっといい方法がありました!(コメント欄参照)

# 年度を計算する関数
def calc_fiscal_year(date):
    if date.month >= 4:
        return date.year
    else:
        return date.year - 1

# 年度カラムを追加
df['年度'] = df['請求月'].apply(calc_fiscal_year)

# 年度ごとの請求金額の合計を計算
result = df.groupby('年度')['請求金額'].sum().reset_index()

result

image.png

calc_fiscal_year() がポイントで、気づいちゃえば「そゆことな」て思うけど、始めは「年度の計算、面倒かも」って思ったのです。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?