为了账号安全,请及时绑定邮箱和手机立即绑定

Pandas:无法对日期列进行分类以获取财政年度

Pandas:无法对日期列进行分类以获取财政年度

素胚勾勒不出你 2022-10-25 16:08:00
我有一个数据框,其中包含一组日期(包含为 df 的样本),我试图将其分类为相应的会计年度 - 用于时间序列分析;即 2012 年 4 月至 2013 年 3 月等。如果我运行 FOR 循环,我可以做到这一点,但我需要很长时间才能做到这一点。我想做的另一个选择是使用 pd.cut 将数据分箱,我不确定这是最好的做法,因为我遇到了一些查询,这些查询表明它是由于 python 中的一个错误导致的需要将边转换为数值x=np.arange('2018-04-02', '2020-04-20',50, dtype= np.datetime64)df=pd.DataFrame(x)df["Year"]=""bin_3=['2018-03-31','2019-03-31','2020-03-31','2021-03-31']tag=['FY18-19','FY19-20','FY20-21']df["Year"]=pd.cut(df5["Date of Issue"],bin_3,labels=tag)关于如何在不牺牲处理时间的情况下使其工作的任何建议?
查看完整描述

1 回答

?
森林海

TA贡献2011条经验 获得超2个赞

好吧,我会在这里使用 apply,通常是 lambda。但是为了清楚起见写了一个函数。


假设您在“日期”列中有要映射的日期


def get_fiscal_year(date):

    m = date.month

    yy = date.year % 100

    fy = None


    if m > 3:

        fy = f"FY{yy}-{yy+1}"

    else:

        fy = f"FY{yy-1}-{yy}"


    return fy



df['FiscalYear'] = df['Date'].apply(lambda dt: get_fiscal_year(dt))


查看完整回答
反对 回复 2022-10-25
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信