现在我在pandas数据帧中有一个这样的列:
Year_Quarter
2014Q1
2015Q1
2015Q2
2016Q3
我通过使用以下代码转换另一列日期来获得此列:
combine['Publish Date'] = pd.to_datetime(combine['Publish Date']).dt.strftime('%Y-%m-%d')
combine['Year_Quarter'] = pd.to_datetime(combine['Publish Date']).dt.to_period('Q').astype(str)
如何将此日期格式转换为:
Q12014
Q12015
Q22015
Q32016
谢谢你的帮助!
您可以使用strftime
尝试此操作以获得自定义格式:
combine['Year_Quarter'] = pd.to_datetime(combine['Publish Date']).dt.to_period("Q").dt.strftime('Q%q%Y')
或者,正如@Barmar和@anky在评论中所建议的,你也可以对列进行切片:
combine['Year_Quarter'] = pd.to_datetime(combine['Publish Date']).dt.to_period('Q').astype(str)
combine['Year_Quarter']=combine['Year_Quarter'].str[-2:].add(combine['Year_Quarter'].str[:4])
两个输出:
combine['Year_Quarter']
Q12014
Q12015
Q22015
Q32016