【问题标题】:Calculate days between period with another time period计算时间段与另一个时间段之间的天数
【发布时间】:2021-09-14 22:05:52
【问题描述】:

我正在尝试分析具有时间段的数据,并希望将其设置为与日历相关。

数据:
2021 年 1 月 15 日 | 2021 年 2 月 17 日 |迈克 |服务
2021 年 3 月 12 日 | 2021 年 3 月 12 日 |托德 |安装
01-04-2021 | 2021 年 1 月 17 日 |罗恩 |服务
....

现在我想知道例如从 01-05-2021 到 02-30-2021 服务了多少天,一月和二月有多少天。

不知道从哪里开始我应该寻找什么。

【问题讨论】:

  • 我认为学习 pandas 库进行数据操作将是一个好的开始。它具有非常简单和有用的日期时间功能。或者,python 中的 datetime 库至少可以回答时间增量问题。在任何情况下,您都应该编写一些基本代码来读取数据,以及到目前为止您所做的尝试。

标签: python database data-analysis


【解决方案1】:

您可以将每个月的天数存储在字典中。从那里您可以找到两个日期之间的差异,然后计算每个月有多少天。我们以第一行为例:

from datetime import datetime as dt


# Number of days for each month from January to Jume
month_dict = {
    1: 30,
    2: 28,
    3: 31,
    4: 30,
    5: 31,
    6: 30
}
start_date = dt.strptime('01-15-2021', '%m-%d-%Y')
end_date = dt.strptime('02-17-2021', '%m-%d-%Y')

result = end_date - start_date
days_serviced = result.days - 1
days_in_january = month_dict[start_date.month] - start_date.day
days_in_february = end_date.day
print(days_serviced, 'days were serviced')
print(days_in_january, 'days in January')
print(days_in_february, 'days in Ferbuary')

输出:

>>> 32 days were serviced
>>> 15 days in January
>>> 17 days in Ferbuary

顺便说一句,如果您不了解 datetime 模块,可以通过此链接https://docs.python.org/3/library/datetime.html#module-datetime了解更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多