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