使用pandas库,获得timestamp对象所在的季度,有四种方法
- 获取月份后手动判断
- 获取月份后对月份进行计算
- 使用dt.quarter
- 当季度按3-5(一季度)、6-8(二季度)、9-11(三季度)、12-2(四季度)这种不从1月开始划分时,可以使用to_period转化处理。
详细说明
1.获取月份后手动判断
import datetime
import pandas as pd
ts = pd.Timestamp(2020, 3, 14)
if ts.month in [3,4,5]:
print('春')
elif ts.month in [6,7,8]:
print('夏')
elif ts.month in [9,10,11]:
print('秋')
elif ts.month in [12,1,2]:
print('冬')
else:
print('error')
2.获取月份后对月份进行计算
import datetime
import pandas as pd
ts = pd.Timestamp(2020, 3, 14)
print((ts.month - 1) // 3 + 1)
3.使用dt.quarter
import datetime
import pandas as pd
ts = pd.Timestamp(2020, 3, 14)
print(ts.quarter)
4.使用to_period
季度按3-5(一季度)、6-8(二季度)、9-11(三季度)、12-2(四季度)这种不从1月开始划分时,视为将2月(‘Q-FEB’)作为当年最后一个月份。
import datetime
import pandas as pd
ts = pd.Timestamp(2020, 3, 14)
ts.to_period('Q-FEB').quarter
注意
对series操作时,要使用dt方法,如
df['ts'].dt.to_period('Q-FEB').dt.quarter