Python 日期功能:将期间索引信息提取为字符串

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

我有以下格式的数据帧(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.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'],数据类型为