python - 如何获取 Datetime 的完整日期长度

标签 python pandas datetime

我需要一个 df 列,用于按周对其进行分组。

问题是 Tableau 中的所有报告都是使用以下周格式构建的:2019-01-01 就像是重复使用一周中的第一天周一至周日。

数据:

cw = pd.DataFrame({  "lead_date" : [2019-01-01 00:02:16, 2018-08-01 00:02:16 , 2017-07-07 00:02:16,  2015-12-01 00:02:16, 2016-09-01 00:02:16] ,
                    "name": ["aa","bb","cc", "dd", "EE"]  )}  

我的代码:

# extracting 
cw["week"] = cw["lead_date"].apply(lambda df: df.strftime("%W") )
cw["month"] = cw["lead_date"].apply(lambda df: df.strftime("%m") )
cw["year"] = cw["lead_date"].apply(lambda df: df.strftime("%Y") )

输出:

lead_date            year   month  week
2019-01-01 00:02:16, 2019 ,  01  , 00
-
-
-
etc..

期望的输出:

将星期作为日期格式,而不仅仅是 00 或 01 等。

lead_date            year   month  week
2019-01-01 00:02:16, 2019 ,  01  , 2019-01-01
2019-01-15 00:02:16, 2019 ,  01  , 2019-01-14
2019-01-25 00:02:16, 2019 ,  01  , 2019-01-21
2019-01-28 00:02:16, 2019 ,  01  , 2019-01-21


最佳答案

你可以这样做:

from datetime import datetime, timedelta
cw['lead_date'].apply(lambda r: datetime.strptime(r, '%Y-%m-%d') - timedelta(days=datetime.strptime(r, '%Y-%m-%d').weekday()))

这会将每个日期设置为该周的开始日。

关于python - 如何获取 Datetime 的完整日期长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59460608/

相关文章:

点击终端后Python time.sleep中断

php - 无法显示正确时间的日期

c# - 类似于 C# 的 Java SimpleDateFormat

python - 删除Python RTL(从右到左)语言文本中的换行符

python - 捕获进程输出时的 Posix_spawn 性能

python - 请求 https ://www. googleapis.com/upload/drive/v2/files/... 时出现 HttpError 400 返回 "Invalid Upload Request"

python - 在简单的 pandas/matplotlib “barh” 图中指定一列的单条标签颜色

python - Pandas 在条件下删除重复项

python - 严格高于原始曲线的平滑算法

java - 在 Java 和 .net 中使用 UTC 时间?