【发布时间】:2021-04-16 20:59:40
【问题描述】:
我有一个指定日期范围的列表(通过pandas.date_range() 获得),假设:
dates = ["2016-1-1", "2016-1-2", "2016-1-3", "2016-1-4", "2016-1-5", "2016-1-6"]
和一个在一列中有开始日期的pandas DataFrame,即:
df = {"start_date": ["2016-1-3", "2016-1-2", "2016-1-6", "2016-1-6", "2016-1-1"],
"event": ["task1", "task43", "task2", "task9", "task6"]}
因此,我想知道dates 列表中的每个元素在DataFrame 的start_date 列中出现的频率。
根据这个例子,我想要的输出是:
[1, 1, 1, 0, 0, 2]
我必须计算一些关于输出的统计数据,所以一个简单的计数列表就足够了。通常我可以在 DataFrame 列上运行一个计数器,但由于我还希望 DataFrame 列中没有出现的日期计数为零,因此据我所知这是不可能的。
解决这个问题的最有效方法是什么?我必须在其上运行它的实际 DataFrame 非常庞大,因此如果可能有多种解决方案,我正在寻找最耗时的一种。
【问题讨论】: