首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有小时/分钟/秒的情况下以日期时间格式创建周列?

如何在没有小时/分钟/秒的情况下以日期时间格式创建周列?
EN

Stack Overflow用户
提问于 2021-06-07 20:14:10
回答 2查看 177关注 0票数 1

为了在熊猫:group by week in pandas中创建一个周专栏,我遵循了本教程。如果你有一个没有几个小时、几分钟和几秒的约会,答案就会很好。但这对我没用。实际上,我甚至不需要答案的总结部分,只需要创建一周专栏,这看起来很简单,但我找不到解决方案。

我有一个数据集,上面有产品的id、价格和销售时间,如下所示:

代码语言:javascript
运行
复制
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
.
.
.

我只想添加一个日期时间列与创建周。我在努力做到这一点:

代码语言:javascript
运行
复制
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:012019-12-30 10:03:01

提前谢谢。很抱歉我的数据,我不能分享我正在处理的表格。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-07 20:18:33

您可以使用to_period,然后获取句点的start_time

代码语言:javascript
运行
复制
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
票数 1
EN

Stack Overflow用户

发布于 2021-06-07 20:19:36

根据您的sold_date列的日期类型,它可能很简单,只需转换为pd.datetime,如下所示:

df["sold_date"] = pd.to_datetime(df["sold_date"])

一旦出现这种情况,您就可以通过以下操作访问日期:

df["sold_date"] = df["sold_date"].dt.date

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67878147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档