我是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读取整个列,并让我在新列中提取工作日。提前谢谢你!!
发布于 2020-11-18 20:26:02
您的数据看起来像是在pandas Series中,它具有内置的日期功能。
首先,您必须将字符串值转换为date对象,然后可以通过.dt使用date功能来获取工作日:
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,默默地弄乱一些日期。
https://stackoverflow.com/questions/64892951
复制相似问题