我有一个包含月份和年份的 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
我是一名优秀的程序员,十分优秀!