首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从日期时间列表中获得平均月和日?

如何从日期时间列表中获得平均月和日?
EN

Stack Overflow用户
提问于 2022-01-26 00:02:41
回答 1查看 146关注 0票数 0

我有以下日期清单:

代码语言:javascript
复制
date_list = [Timestamp('2015-05-17 00:00:00'), Timestamp('2016-04-28 00:00:00'), Timestamp('2017-05-17 00:00:00'), Timestamp('2018-05-09 00:00:00'), Timestamp('2019-06-04 00:00:00'), Timestamp('2020-04-28 00:00:00')]

我如何从这份清单中得到平均的日月数?我的当前代码如下:

代码语言:javascript
复制
avg_month_day = datetime.strftime(datetime.fromtimestamp(sum(map(datetime.timestamp,date_list))/len(date_list)),"%m-%d")

然而,如果将这一年包括在内,上述代码的结果是"11-10“,而我认为应该是"05-12”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-26 00:36:38

你得到这个平均数是因为考虑到了这一年。为了得到想要的结果,您需要用相同的年份构造新的时间戳。

也许有一个更优雅的解决方案,但这里有一个应该工作得很好的解决方案:

代码语言:javascript
复制
import pandas as pd

pd.Series(date_list).apply(lambda d: pd.Timestamp(2020, d.month, d.day)).mean()

输出:

代码语言:javascript
复制
Timestamp('2020-05-12 08:00:00')

在那里,您可以创建格式化为任何格式的datetime对象。

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

https://stackoverflow.com/questions/70857235

复制
相关文章

相似问题

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