Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - ส่งคืนอาร์เรย์ numpy ของอ็อบเจ็กต์ python datetime.time พร้อมข้อมูลเขตเวลา


ในการส่งคืนอาร์เรย์ numpy ของอ็อบเจ็กต์ python datetime.time ด้วยข้อมูลเขตเวลา ให้ใช้ 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')

แสดง 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>)]