You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从pandas DataFrame的日期列中提取澳大利亚财年

pandas生成澳大利亚财年标识列

核心逻辑

澳大利亚财年从每年7月1日开始到次年6月30日结束,计算规则为:

  • 若日期月份≥7,财年年份 = 日期所属年份 + 1
  • 若日期月份<7,财年年份 = 日期所属年份

实现方法

首先确保待处理的date列为pandas datetime类型:

import pandas as pd
# 类型转换非必要但建议执行,避免非日期格式数据报错
df['date'] = pd.to_datetime(df['date'])

方法1:向量化运算(推荐,大数据量下性能更高)

直接通过pandas datetime内置属性计算,一行代码完成:

# 生成带FY前缀的财年标识,如FY 2019
df['au_fiscal_year'] = 'FY ' + (df['date'].dt.year + (df['date'].dt.month >= 7).astype(int)).astype(str)

# 如果只需要纯数字年份,可使用以下代码
df['au_fiscal_year_num'] = df['date'].dt.year + (df['date'].dt.month >= 7).astype(int)

方法2:自定义函数+apply(适合需要扩展复杂逻辑的场景)

def cal_au_fiscal_year(date):
    if date.month >= 7:
        return f"FY {date.year + 1}"
    return f"FY {date.year}"

df['au_fiscal_year'] = df['date'].apply(cal_au_fiscal_year)

效果验证

对应示例的计算结果如下:

dateau_fiscal_year
2019-06-10FY 2019
2019-07-05FY 2020

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:00:02