我有一个数据框df,其头部看起来像:

             total_cost
date
2006-03-04 -1465.052092
2006-04-04 -1213.508277
2006-05-04 -1459.290503
2006-06-04 -1460.119361
2006-07-04  -772.482609


有没有一种方法可以创建一个仅包含时间序列中所包含的不同年份的列表。因此,例如,如果上面的时间序列具有从2006年到20012年的条目,则列表如下所示:

[2006,2007,2008,2009,2010,2011,2012]


我考虑过使用数据透视表,但无法按年份获取日期。

最佳答案

尝试这个:

df.index.year.unique().tolist()


演示:

In [6]: df
Out[6]:
             total_cost
date
2006-03-04 -1465.052092
2006-04-04 -1213.508277
2007-05-04 -1459.290503
2008-06-04 -1460.119361
2009-07-04  -772.482609

In [7]: df.index.year.unique().tolist()
Out[7]: [2006, 2007, 2008, 2009]

09-10 06:01
查看更多