【问题标题】:How do I get Python to extract weekdays from dates?如何让 Python 从日期中提取工作日?
【发布时间】:2021-03-01 17:07:38
【问题描述】:

我是 Python 领域的新手,我需要从数据集中的一长列特定日期中提取确切的工作日。 该列如下所示:

0       1/5/2019
1       3/8/2019
2       3/3/2019
3      1/27/2019
4       2/8/2019
         ...    
995    1/29/2019
996     3/2/2019
997     2/9/2019
998    2/22/2019
999    2/18/2019
Name: Date, Length: 1000, dtype: object

我一直在尝试使用包 datetime 和 calendar 以及使用 for 循环进行编码,但我不知道如何让 Python 读取整个列并让我在新列中提取工作日。 提前谢谢你!

【问题讨论】:

    标签: python pandas date datetime weekday


    【解决方案1】:

    您的数据似乎在 pandas 系列中,其中内置了日期功能。

    首先你必须将字符串值转换为日期对象,然后你可以通过.dt使用日期功能来获取工作日:

    import pandas as pd
    timeseries = pd.Series(["1/27/2015", "5/4/2012"])
    pd.to_datetime(timeseries).dt.weekday  # --> [1, 4]
    pd.to_datetime(timeseries).dt.day_name()  # --> ["Tuesday", "Friday"]
    

    陷阱:pd.to_datetime 的默认值是月/日/年。如果您的数据是日/月/年格式并且您没有指定格式,pandas 会将它可以解析的任何行解析为 m/d/y,其余行解析为 d/m/y,默默地搞砸 一些日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多