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

pythonserver side programmingprogramming更新于 2026/1/18 20:28:17

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

首先,导入所需的库 −

import pandas as pd

创建一个 DatetimeIndex,周期为 5,频率为 us,即纳秒 −

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

显示 DateTimeIndex −

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

仅返回 Timestamp 的时间部分和时区信息 −

print("\nnumpy 数组(带有时区的时间部分)..\n",datetimeindex.timetz)

示例

以下是代码 −

import pandas as pd

# DatetimeIndex 周期为 5,频率为 us,即纳秒
# 时区为澳大利亚/悉尼
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=5, tz='Australia/Sydney', freq='ns')

# 显示 DateTimeIndex
print("DateTimeIndex...\n", datetimeindex)

# 仅返回带有时区信息的 Timestamp 的时间部分
print("\nnumpy 数组(带有时区的时间部分)..\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')

numpy 数组(带有时区的时间部分)..
[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>)]

相关文章


有用资源