Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Trả về mảng numpy của các đối tượng datetime.time trong python với thông tin múi giờ

Để trả về mảng numpy của các đối tượng datetime.time trong python với thông tin múi giờ, hãy sử dụng datetimeindex.timetz tài sản.

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Tạo DatetimeIndex với chu kỳ 5 và tần suất như chúng tôi, tức là nano giây -

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

Hiển thị DateTimeIndex -

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

Chỉ trả về phần thời gian của Dấu thời gian với thông tin múi giờ -

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

Ví dụ

Sau đây là mã -

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)

Đầu ra

Điều này sẽ tạo ra mã sau -

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>)]