Получить дату из списка с помощью `numpy .datetime64`-объектов - PullRequest
0 голосов
/ 11 января 2020

У меня есть список с несколькими датами. К сожалению, все они выглядят как numpy.datetime64 -объект. У кого-нибудь есть представление о том, как я могу извлечь фактическую дату? Список выглядит так:

[numpy.datetime64('2016-01-04T00:00:00.000000000'),
 numpy.datetime64('2016-01-14T00:00:00.000000000'),
 numpy.datetime64('2016-01-17T00:00:00.000000000'),
 numpy.datetime64('2016-01-24T00:00:00.000000000'),
...

Ответы [ 2 ]

1 голос
/ 11 января 2020

Вот способ сделать .astype:

dates = [str(x.astype('datetime64[D]')) for x in dates_list]

['2016-01-04', '2016-01-14', '2016-01-17', '2016-01-24']
0 голосов
/ 12 января 2020
In [570]: alist=[numpy.datetime64('2016-01-04T00:00:00.000000000'), 
     ...:  numpy.datetime64('2016-01-14T00:00:00.000000000'), 
     ...:  numpy.datetime64('2016-01-17T00:00:00.000000000'), 
     ...:  numpy.datetime64('2016-01-24T00:00:00.000000000')]                                             

Список, преобразованный в массив numpy:

In [571]: np.hstack(alist)                                                                                
Out[571]: 
array(['2016-01-04T00:00:00.000000000', '2016-01-14T00:00:00.000000000',
       '2016-01-17T00:00:00.000000000', '2016-01-24T00:00:00.000000000'],
      dtype='datetime64[ns]')

только дата dtype:

In [572]: np.hstack(alist).astype('datetime64[D]')                                                        
Out[572]: 
array(['2016-01-04', '2016-01-14', '2016-01-17', '2016-01-24'],
      dtype='datetime64[D]')

печать строки всего массива:

In [573]: str(np.hstack(alist).astype('datetime64[D]'))                                                   
Out[573]: "['2016-01-04' '2016-01-14' '2016-01-17' '2016-01-24']"

список строк печати:

In [574]: [str(d) for d in np.hstack(alist).astype('datetime64[D]')]                                      
Out[574]: ['2016-01-04', '2016-01-14', '2016-01-17', '2016-01-24']

строки даты без преобразования:

In [575]: [str(d) for d in alist]                                                                         
Out[575]: 
['2016-01-04T00:00:00.000000000',
 '2016-01-14T00:00:00.000000000',
 '2016-01-17T00:00:00.000000000',
 '2016-01-24T00:00:00.000000000']
...