我的日期格式(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。
答案 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