Python Pandas - 从具有特定时间序列频率的 DateTimeIndex 中提取星期几


要从具有特定时间序列频率的 DateTimeIndex 中提取星期几,请使用 **DateTimeIndex.dayofweek** 属性。

首先,导入所需的库:

import pandas as pd

创建一个周期为 6,频率为 D(即天)的 DatetimeIndex:

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

更新于:2021年10月18日

231 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告