python - 如何在没有小时/分钟/秒的情况下以日期时间格式创建周列?
问题描述
我正在关注本教程,以便在 pandas 中创建一周列:在 pandas 中按周分组。如果您有一个没有小时、分钟和秒的日期,答案就可以正常工作。但这对我不起作用。其实我什至不需要答案的总结部分,只需要创建周列,这看起来很简单,但我找不到解决方案。
我有一个包含产品 ID、价格和销售时间的数据集,如下所示:
sold_date id price
2020-01-01 20:00:01 A1 100
2020-01-02 10:03:01 B1 110
2020-01-02 11:10:01 B1 130
2020-02-03 22:20:01 A1 110
2020-02-04 23:05:01 A1 140
2020-02-04 21:00:05 B1 190
.
.
.
我只想添加一个带有创建周的日期时间列。我试图做到这一点:
week_sold id price
2019-12-30 A1 100
2019-12-30 B1 110
2019-12-30 B1 130
2020-02-02 A1 110
2020-02-02 A1 140
2020-02-02 B1 190
.
.
.
我也可以使用 2019-12-30 00:00:000 之类的东西。我所关注的链接的解决方案的问题是它没有考虑小时数,因此当您仅通过减去 7 天来创建一周列时,您会为每一行获得不同的值。您将获得前两行2019-12-30 20:00:01和2019-12-30 10:03:01。
提前致谢。对数据感到抱歉,我无法分享我正在处理的表格。
解决方案
您可以使用to_period
然后抓取start_time
期间的。
df['week_sold'] = df['sold_date'].dt.to_period('W').dt.start_time
sold_date id price week_sold
0 2020-01-01 20:00:01 A1 100 2019-12-30
1 2020-01-02 10:03:01 B1 110 2019-12-30
2 2020-01-02 11:10:01 B1 130 2019-12-30
3 2020-02-03 22:20:01 A1 110 2020-02-03
4 2020-02-04 23:05:01 A1 140 2020-02-03
5 2020-02-04 21:00:05 B1 190 2020-02-03
推荐阅读
- html - 为什么 flex-basis 不使用 flex-direction 'column' 设置 flex-items 的高度?
- mule - Why does Mule DataWeave array map strip top level objects?
- sorbet - How do I install release build of sorbet?
- php - 从子 SKU Magento 2 获取父 SKU(可配置或捆绑)
- vba - SAP 连接为空时运行时错误“91”
- android - 我想获取单击的课程按钮的 ID 并加载该 ID 的数据
- python-3.x - 有没有办法用一些重复的元素对未排序的列表进行排序?
- function - How to use a signal as function parameter in CAPL
- c# - 在 C# 字典中查找元组键的问题
- django - 使用 django ORM 过滤三个表