Python Pandas - 返回带有时区信息的 python datetime.time 对象的 numpy 数组


如需使用时区信息返回 python datetime.time 对象的 numpy 数组,请使用 datetimeindex.timetz 属性。

首先,导入所需库 −

import pandas as pd

使用周期为 5,频率为 us(即纳秒)创建 DatetimeIndex −

datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=5, tz='Australia/Sydney', freq='ns')

显示 DateTimeIndex −

print("DateTimeIndex...\n", datetimeindex)

仅返回带有时区信息的时间戳的时间部分 −

print("\nThe numpy array (time part with timezone)..\n",datetimeindex.timetz)

示例

代码如下 −

import pandas as pd

# DatetimeIndex with period 5 and frequency as us i.e. nanoseconds
# The timezone is Australia/Sydney
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=5, tz='Australia/Sydney', freq='ns')

# display DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)

# Returns only the time part of Timestamp with timezone information
print("\nThe numpy array (time part with timezone)..\n",datetimeindex.timetz)

输出

将生成以下代码 −

DateTimeIndex...
DatetimeIndex([ '2021-10-20 02:30:50+11:00',
'2021-10-20 02:30:50.000000001+11:00',
'2021-10-20 02:30:50.000000002+11:00',
'2021-10-20 02:30:50.000000003+11:00',
'2021-10-20 02:30:50.000000004+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='N')

The numpy array (time part with timezone)..
[datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)
datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)
datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)
datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)
datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)]

更新日期:2021 年 10 月 18 日

200 次浏览

开启你的 职业生涯

完成课程认证

开始
广告
© . All rights reserved.