问题描述
我有一个频率为分钟的 Pandas 日期时间索引 idx
,我还有一个日期列表(或一组)list_of_dates
。我想返回一个大小与 idx
相同的布尔数组,条件是日期时间索引所属的日期在 list_of_dates
中。是否可以以矢量化方式(即不使用 for 循环)来实现?
解决方法
由于您只想比较日期,因此您可以删除时间并像这样进行比较:
>>> df.index.normalize().isin(list_of_dates)
或者:
>>> df.index.floor('D').isin(list_of_dates)