熊猫提取数据帧时间序列

时间:2015-04-28 16:48:06

标签: python pandas

在以下数据框中,datetime列是索引,我想从2015年到2020年提取值。

df[(df.index>=2015) & (df.index<=2020)]

但是,当我使用上面的命令时,它只提取从2015年1月1日到2020年1月1日的值。我希望它提取2020年的所有值。有什么建议吗?

datetime    NMN
3/21/2012   0.5221
3/22/2012   0.5089
3/23/2012   0.4782
3/24/2012   0.4587
3/25/2012   0.5012
3/26/2012   0.5468
3/27/2012   0.5949
3/28/2012   0.6279
3/29/2012   0.682
...
12/21/2022  0.6377
12/22/2022  0.5864
12/23/2022  0.559
12/24/2022  0.5429
12/25/2022  0.5293
12/26/2022  0.5394
12/27/2022  0.6248
12/28/2022  0.6565
12/29/2022  0.6799
12/30/2022  0.5756
12/31/2022  0.5475

1 个答案:

答案 0 :(得分:1)

指定年末,使用报价,并使用ix选择索引值:

df.ix['2012':'2022-12-31']

               NMN
datetime          
2012-03-21  0.5221
2012-03-22  0.5089
2012-03-23  0.4782
2012-03-24  0.4587
2012-03-25  0.5012
2012-03-26  0.5468
2012-03-27  0.5949
2012-03-28  0.6279
2012-03-29  0.6820
2022-12-21  0.6377
2022-12-22  0.5864
2022-12-23  0.5590
2022-12-24  0.5429
2022-12-25  0.5293
2022-12-26  0.5394
2022-12-27  0.6248
2022-12-28  0.6565
2022-12-29  0.6799
2022-12-30  0.5756
2022-12-31  0.5475

以下也可以正常工作,产生与上面相同的输出:

df.ix['2012':'2022']