Python 熊猫:如何创建一个包含月内每个工作日编号的新列?
有一个以datetime列为索引的数据帧Python 熊猫:如何创建一个包含月内每个工作日编号的新列?,python,pandas,dataframe,time-series,Python,Pandas,Dataframe,Time Series,有一个以datetime列为索引的数据帧 time open high low close weekday 2000-05-30 17:00:00 0.93020 0.93050 0.92970 0.92970 1 2000-05-30 18:00:00 0.92980 0.93000 0.92960 0.92960
time open high low close weekday
2000-05-30 17:00:00 0.93020 0.93050 0.92970 0.92970 1
2000-05-30 18:00:00 0.92980 0.93000 0.92960 0.92960 1
2000-05-30 19:00:00 0.92970 0.93050 0.92930 0.93050 1
我创建了新的专栏“weekday”,作为
df['weekday'] = df.index.dayofweek
如何创建一个新列,其中包含每个月内每个工作日的编号?
i、 e 2000-05-01是5月的第一个星期一,2000-05-08是5月的第二个星期一,等等。如果您的时间列是日期时间数据类型,则
df['weekday'] = df['time'].dt.day_of_week
如果没有,那么先这样做
df['time'] = pd.to_datetime(df['time'])
只需要将天数除以7。 如果除法的余数大于0,则必须将1添加到除法结果中。
例如,2021年9月2日。把9除以7。除法的余数不是0。除法的结果是1。加1。因此,2020年9月2日是2月的第二个星期二。mullinscr,我编辑了我的问题。df.index.day是月日(0-31)df.index.weekday是指你的一天是M-F还是S-U(0或1)df.index.dayofweek是指从周一(0)到周日(6)的天数。你的问题是“工作日”和“月日”