基于datetime numpy数组获取下个月的第一个日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于datetime numpy数组获取下个月的第一个日期相关的知识,希望对你有一定的参考价值。

数据

lst=array(['2019-08-30T00:00:00.000000000', '2019-09-30T00:00:00.000000000',
       '2019-10-31T00:00:00.000000000', '2019-11-29T00:00:00.000000000',
       '2020-01-23T00:00:00.000000000', '2020-02-28T00:00:00.000000000'],
      dtype='datetime64[ns]')

目标

我想获取上述数组中每个元素的下个月开始日期。例如,2019-08-30T00:00:00.000000000将为'2019-09-01T00:00:00.000000000'2020-01-23T00:00:00.000000000将为2020-02-01T00:00:00.000000000,最终输出将是像'2019-08-30T00:00:00.000000000':'2019-09-01T00:00:00.000000000',……的字典

尝试

[通过某些元素容易获得+timedelta(days=1),但是对于'2020-01-23T00:00:00.000000000'等则很难。

答案

您可以转换为月的单位,加一并转换回去:

(lst.astype("M8[M]")+1).astype("M8[ns]")
# array(['2019-09-01T00:00:00.000000000', '2019-10-01T00:00:00.000000000',
#        '2019-11-01T00:00:00.000000000', '2019-12-01T00:00:00.000000000',
#        '2020-02-01T00:00:00.000000000', '2020-03-01T00:00:00.000000000'],
#       dtype='datetime64[ns]')

以上是关于基于datetime numpy数组获取下个月的第一个日期的主要内容,如果未能解决你的问题,请参考以下文章

在Python中获取下个月的最后一天[关闭]

如何在SHELL获取当天时间的月份和上个月的月份还有下个月的月份

将日期取整到下个月的第一天

Java中获取去年最后一天的日期

获取下个月的月份

获取下个月的今天