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

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

首先,导入所需的库 -

import pandas as pd

创建一个周期为 5 和频率为我们的 DatetimeIndex,即纳秒 -

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

显示日期时间索引 -

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

仅返回带有时区信息的 Timestamp 的时间部分 -

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

示例

以下是代码 -

import pandas as pd

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

# 显示日期时间索引
print("DateTimeIndex...\n", datetimeindex)

# 仅返回带有时区信息的 Timestamp 的时间部分
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>)]

猜你喜欢