Python 日期功能:将期间索引信息提取为字符串
我有以下格式的数据帧(df_qtr):Python 日期功能:将期间索引信息提取为字符串,python,pandas,python-datetime,Python,Pandas,Python Datetime,我有以下格式的数据帧(df_qtr): Index 2008Q4 2009Q1 2009Q2 Ex 85833.33 85433.33 85766.66 Kc 153200.00 150533.33 149666.66 Al 83766.66 84200.00 84333.33 Jk 107933.33 113600.00 115366.66 Ar 151200.00 147133
Index 2008Q4 2009Q1 2009Q2
Ex 85833.33 85433.33 85766.66
Kc 153200.00 150533.33 149666.66
Al 83766.66 84200.00 84333.33
Jk 107933.33 113600.00 115366.66
Ar 151200.00 147133.33 143900.00
Ax 139300.00 137333.33 132700.00
列标题是通过使用以下代码合并月度数据(日期为列标题)创建的期间索引:
[1]中的:df_qtr=df.groupby(pd.PeriodIndex(df.columns,freq='q'),axis=1.mean()
我想将列标题提取为字符串为:
Out[1]:['2008Q4','2009Q1','2009Q2']
我最接近的方法是将其转换回时间戳,然后转换为字符串:
In[2]: list(df_qtr.columns.to_datetime().astype(str))
Out[2]: Index(['2008-10-01', '2009-01-01', '2009-04-01']
但同样的方法不适用于期间索引,我得到以下错误:
ValueError:无法将PeriodIndex转换为dtype好的,所以我在查看文档时找到了答案。函数datetime.strftime()可用于:
In[3]: df_qtr.columns.strftime('%YQ%q')
Out[3]: array(['2008Q4', '2009Q1', '2009Q2'], dtype='<U6')
[3]中的:df_qtr.columns.strftime(“%YQ%q”)
Out[3]:数组(['2008Q4'、'2009Q1'、'2009Q2'],数据类型为