Skip to main content
 首页 » 编程设计

python之确定 Pandas 的年度营业年度

2025年05月04日15yxwkf

我有一个包含月份和年份的 DataFrame:

df: 
    month   year 
0   Jan     2012.0 
1   Feb     2012.0 
2   Mar     2012.0 
3   Apr     2012.0 
4   May     2012.0 
5   Jun     2012.0 
6   Jul     2012.0 
7   Aug     2012.0 
8   Sep     2012.0 
9   Oct     2012.0 
10  Nov     2012.0 
11  Dec     2012.0 

我想添加另一列来确定从每年 3 月开始的营业年 像这样的事情:。

df: 
        month   year     business_year 
    0   Jan     2012.0     2011 
    1   Feb     2012.0     2011 
    2   Mar     2012.0     2012 
    3   Apr     2012.0     2012 
    4   May     2012.0     2012 
    5   Jun     2012.0     2012 
    6   Jul     2012.0     2012 
    7   Aug     2012.0     2012 
    8   Sep     2012.0     2012 
    9   Oct     2012.0     2012 
    10  Nov     2012.0     2012 
    11  Dec     2012.0     2012 
    12  Jan     2013.0     2012 
    13  Feb     2013.0     2012 

请您参考如下方法:

假设您的月份是一个字符串,您可以使用以下代码段:

df['business_year'] = df['year'] + df['month'].apply(lambda x: -1 if x in ('Jan', 'Feb') else 0) 

或者,如果您想要更高性能的东西:

df['business_year'] = df['year'] + ~df1['month'].isin(('Jan', 'Feb')) - 1