所以我有以下日期列表
list_dates=[np.datetime64('2018-06-11'),np.datetime64('2018-01-01'),
np.datetime64('2018-03-02'),np.datetime64('2018-03-11'),
np.datetime64('2018-05-19'),np.datetime64('2017-03-19'),
np.datetime64('2018-01-01'),np.datetime64('2017-05-30'),
np.datetime64('2016-08-11'),np.datetime64('2016-06-04')]
我只想生成一个新列表,其中包含 1 月和 3 月的日期。
所需的输出如下所示:
[np.datetime64('2018-01-01'),np.datetime64('2018-03-02'),np.datetime64('2017-03-19'),
np.datetime64('2016-03-11')]
我以为我在用字符串处理所以我这样做了
dates_selected=[x for x in list_dates if "-03-" in x ]+
[x for x in list_dates if "-01-" in x ]
问题是我收到了一个输出,表明:
TypeError: arguments of type numpy.datetime64 is not iterable
考虑到我使用 datetime64 而不是字符串进行处理,我如何获得所需的输出?
您可以来回解析和重新格式化您的字符串,这将变得更清晰、更具可扩展性。
from datetime import datetime
list_dates = ['2018-06-11','2018-01-01','2018-03-02','2018-12-19','2018-05-19','2017-03-19','2017-02-01','2017-05-30','2016-08-11','2016-06-04','2016-03-11','2016-01-01']
list_dts = [datetime.strptime(x, '%Y-%m-%d') for x in list_dates]
filtered = [dt.strftime('%Y-%m-%d') for dt in list_dts if dt.month in (1, 3)]
# ['2018-01-01', '2018-03-02', '2017-03-19', '2016-03-11', '2016-01-01']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句