當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy datetime_as_string用法及代碼示例


本文簡要介紹 python 語言中 numpy.datetime_as_string 的用法。

用法:

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

將日期時間數組轉換為字符串數組。

參數

arr 類似 datetime64 的數組

要格式化的 UTC 時間戳數組。

unit str

None、‘auto’ 或日期時間單位之一。

timezone {‘naive’, ‘UTC’, ‘local’} 或 tzinfo

顯示日期時間時使用的時區信息。如果是“UTC”,則以 Z 結尾表示 UTC 時間。如果是‘local’,先轉換為本地時區,後綴+-####時區偏移。如果是 tzinfo 對象,則與 ‘local’ 一樣,但使用指定的時區。

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

在日期時間單位之間更改時允許轉換。

返回

str_arr ndarray

與 arr 形狀相同的字符串數組。

例子

>>> import pytz
>>> 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')

請注意,我們選擇了跨越 DST 邊界的日期時間。傳入 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')

‘casting’可以用來指定是否可以改變精度

>>> np.datetime_as_string(d, unit='h', casting='safe')
Traceback (most recent call last):
    ...
TypeError: Cannot create a datetime string as units 'h' from a NumPy
datetime with units 'm' according to the rule 'safe'

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.datetime_as_string。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。