在以下数据框中,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
答案 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']