【问题标题】:Pandas: dt.dayofweek showing incorrect values熊猫:dt.dayofweek 显示不正确的值
【发布时间】:2017-07-18 15:05:10
【问题描述】:

我很难理解为什么星期几将星期五解释为第 4 天。

一些简单的数据:

import pandas as pd

# Simple time series data:
series = pd.Series({"2017-02-20": 1, '2017-02-21':2, '2017-02-22':3, '2017-02-23': 4, '2017-02-24':5})
datetime = pd.to_datetime(series.index)

# turn series in to dataframe:
df = pd.DataFrame(series.values, index=datetime)

现在如果我们打电话给argmax() 并询问我们得到的是星期几:

df[0].argmax().dayofweek

# 4

所以说星期五是一周的第 4 天,从任何标准来看这显然是错误的。

我做错了吗?我在这个问题上花了太长时间!

我可以猜测这个函数没有正确实现,但如果它不能计算任意日期时间索引的星期几,它对我来说有点失败

【问题讨论】:

    标签: python pandas datetime dayofweek


    【解决方案1】:

    DateTimeIndex.dayofweek 的文档中所述,

    星期一=0,星期日=6的星期几

    所以是的,星期五将被标记为 4。如果您不喜欢这种特定的数字到星期几的映射,您可以随时将此映射映射到您喜欢的任何内容,例如如果您希望 Sunday->Saturday 为 1->7,

    >>> custom_map = dict(zip(range(7), [2, 3, 4, 5, 6, 7, 1]))
    
    >>> custom_map
    {0: 2, 1: 3, 2: 4, 3: 5, 4: 6, 5: 7, 6: 1}
    

    虽然我并没有真正看到这样做的价值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-09
      • 2013-01-08
      • 2020-04-30
      • 2016-03-24
      • 2020-08-03
      • 2020-08-14
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多