【问题标题】:Select weekends and weekdays by weekday() in python在 python 中通过 weekday() 选择周末和工作日
【发布时间】:2020-11-03 03:56:31
【问题描述】:

我有以下数据:

2010-01-01 00:00:00 327
2010-01-01 01:00:00 237
2010-01-01 02:00:00 254
...

我可以按月选择不同的数据,但我想选择工作日的数据和周末的数据。使用工作日功能怎么可能做到这一点?我已经执行了类似的操作,但它不起作用。

data['Month'] = data['Timestamp'].dt.month
summer = (data.Month >=6) & (data.Month <=8) 
data['WEEKDAY'] = ((pd.DatetimeIndex(data.index).dayofweek) // 5 == 1).astype(float)

【问题讨论】:

    标签: python datetime timestamp weekday


    【解决方案1】:

    用途:

    data['WEEKDAY'] = data.Timestamp.dt.dayofweek
    

    0 是星期一。 接下来在WEEKEND 列中将周末标记为 1:

    data['WEEKEND'] = np.where(data.Timestamp.dt.dayofweek.isin([5,6]), 1, 0)
    

    分成2个数据框:

    weekends = data[data['WEEKEND']==1]
    workdays = data[data['WEEKEND']!=1]
    

    【讨论】:

    • 但是,怎么可能只选择 200 行的工作日(第一列对应于时间戳)?非常感谢
    • 只是:data.loc[data['WEEKEND']==0,:].head(200)。 BTW 选择工作日是什么意思?
    • 只是为了创建一个新的数据框“工作日”,数据对应周一到周五,新数据框只有周末的几天。操作系统是否正确:?weekday = (data.WEEKDAY &gt;=0) &amp; (data.WEEKDAY &lt;=4) weekend = (data.WEEKEND &lt;=5) &amp; (data.WEEKEND &lt;=6)
    • 我已经更新了答案。请考虑接受它作为解决方案。
    猜你喜欢
    • 2017-08-14
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2020-08-13
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多