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

Python Pandas - แยกวันในสัปดาห์จาก DateTimeIndex ด้วยความถี่ของอนุกรมเวลาเฉพาะ


ในการดึงวันในสัปดาห์ออกจาก DateTimeIndex ด้วยความถี่ของอนุกรมเวลาที่เฉพาะเจาะจง ให้ใช้ DateTimeIndex.dayofweek ทรัพย์สิน

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import pandas as pd

สร้าง DatetimeIndex ด้วยช่วงเวลา 6 และความถี่เป็น D เช่นวัน -

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

แสดงความถี่ DateTimeIndex -

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

รับวันในสัปดาห์ ถือว่าสัปดาห์เริ่มต้นในวันจันทร์ซึ่งแสดงด้วย 0 และสิ้นสุดในวันอาทิตย์ซึ่งแสดงด้วย 6 -

print("\nGet the day of week..\n",datetimeindex.dayofweek)

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

import pandas as pd

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

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

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

# Get the day of week
# It is assumed the week starts on Monday,
# which is denoted by 0 and ends on Sunday which is denoted by 6
print("\nGet the day of week..\n",datetimeindex.dayofweek)

ผลลัพธ์

สิ่งนี้จะสร้างรหัสต่อไปนี้ -

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+11:00', '2021-10-23 02:30:50+11:00',
'2021-10-26 02:30:50+11:00', '2021-10-29 02:30:50+11:00',
'2021-11-01 02:30:50+11:00', '2021-11-04 02:30:50+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq='3D')
DateTimeIndex frequency...
<3 * Days>

Get the day of week..
Int64Index([2, 5, 1, 4, 0, 3], dtype='int64')