日期之间的比较

时间:2014-05-27 23:37:44

标签: python date statistics

我的日期格式(DateList)有超过1,400个日期的CSV文件。 我想看看任何给定日期(GivenDate)与这1,400个日期的匹配程度。

示例1: 如果DateList中的所有日期都是2000年1月1日,并且GivenDate是2000年1月1日,则Python将输出1.

示例2: 如果DateList中的一半日期是2000年1月1日,而DateList中的一半日期是2000年1月2日,而GivenDate是2000年1月1日,则Python将输出0.5。

2 个答案:

答案 0 :(得分:0)

你可以在这两个日期之间做一个区别,找出差异的天数 - 然后计算总和。这样的事可能呢?

from datetime import date

def get_date_delta(DateList, GivenDate):
    # assume DateList contains an array of date objects
    # assume GivenDate contains the day we are matching (also date object)

    dateDeltaSum = 0
    for d in DateList:
        dateDeltaSum += Math.abs((d-GivenDate).days)

    dateDeltaSum = dateDeltaSum / len(DateList)

    return dateDeltaSum

答案 1 :(得分:0)

我希望这会对你有所帮助:

def define_match(date_list, given_date):
    count = 0
    for x in date_list:
        count += 1 if x == given_date else 0
    return count / len(date_list)

试验:

>>> from datetime import date

>>> date_list = list(date(2000, 1, 1) for x in range(1400))
>>> given_date = date(2000, 1, 1)
>>> define_match(date_list, givenDate)
1.0

>>> date_list = list(date(2000, 1, 1) for x in range(700))
>>> date_list.extend(list(date(2000, 1, 2) for x in range(700)))
>>> define_match(date_list, givenDate)
0.5