Spec-Zone.ru › NumPy 1.14

numpy.datetime_as_string

numpy.datetime_as_string(arr, unit=None, timezone='naive', casting='same_kind')

Преобразование массива дат и времени в массив строк.

Параметры:

arr : array_like of datetime64

Массив UTC временных меток для форматирования.

unit : str

Одно из значений None, ‘auto’ или единица измерения дат и времени.

timezone : {‘naive’, ‘UTC’, ‘local’} or tzinfo

Информация о часовом поясе для отображения даты и времени. Если ‘UTC’, заканчивается Z для обозначения времени UTC. Если ‘local’, сначала преобразуется в местное часовое поясе, а затем добавляется смещение часового пояса +-####. Если tzinfo объект, то действует как с ‘local’, но используется указанный часовой пояс.

casting : {‘no’, ‘equiv’, ‘safe’, ‘same_kind’, ‘unsafe’}

Преобразование, разрешенное при изменении между единицами дат и времени.

Возвращаемое значение:

str_arr : ndarray

Массив строк, имеющий ту же форму, что и arr.

Примеры

>>> d = np.arange('2002-10-27T04:30', 4*60, 60, dtype='M8[m]')
>>> d
array(['2002-10-27T04:30', '2002-10-27T05:30', '2002-10-27T06:30',
       '2002-10-27T07:30'], dtype='datetime64[m]')

Установив часовой пояс на UTC, отображается та же информация, но с суффиксом Z

>>> np.datetime_as_string(d, timezone='UTC')
array(['2002-10-27T04:30Z', '2002-10-27T05:30Z', '2002-10-27T06:30Z',
       '2002-10-27T07:30Z'], dtype='<U35')

Обратите внимание, что мы выбрали даты и время, которые пересекают границу летнего времени. Передача объекта часового пояса pytz выведет соответствующее смещение:

>>> np.datetime_as_string(d, timezone=pytz.timezone('US/Eastern'))
array([‘2002-10-27T00:30-0400’, ‘2002-10-27T01:30-0400’,
‘2002-10-27T01:30-0500’, ‘2002-10-27T02:30-0500’], dtype=’<U39’)

Передача единицы изменит точность:

>>> np.datetime_as_string(d, unit='h')
array([‘2002-10-27T04’, ‘2002-10-27T05’, ‘2002-10-27T06’, ‘2002-10-27T07’],
dtype=’<U32’)
>>> np.datetime_as_string(d, unit='s')
array(['2002-10-27T04:30:00', '2002-10-27T05:30:00', '2002-10-27T06:30:00',
       '2002-10-27T07:30:00'], dtype='<U38')

Но может быть сделано, чтобы не терять точность:

>>> np.datetime_as_string(d, unit='h', casting='safe')

TypeError: Невозможно создать строку даты и времени как единицы ‘h’ из массива NumPy дат и времени с единицами ‘m’ согласно правилу ‘safe’

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.datetime_as_string.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API