这个问题的动机是对与in in 进行比较时提高绩效的问题的答案.DatetimeIndexpandas
解决方案将数据转换DatetimeIndex为numpy数组df.index.values,并将数组与np.datetime64对象进行比较.这似乎是从此比较中检索布尔数组的最有效方法.
其中一位开发人员对这个问题的反馈pandas是:"这些问题一般都不一样.提供一个numpy解决方案往往是一个特殊情况,不推荐."
我的问题是:
DatetimeIndex提供更多功能,但我只需要基本的功能,如切片和索引.numpy?在我的研究中,我发现一些帖子提到"并不总是兼容" - 但它们似乎都没有任何结论性的引用/文档,或者说明为什么/何时它们通常是不兼容的.许多其他帖子使用该numpy表示而没有评论.
我想知道如何在所有不同的时间级别过滤不同的日期,即按年,月,日,小时,分钟和/或日查找日期.例如,如何查找2014年或2014年1月或2014年1月2日发生的所有日期,或者......到第二个?
所以我有从pd.to_datetime生成的日期和时间数据框
df
timeStamp
0 2014-01-02 21:03:04
1 2014-02-02 21:03:05
2 2016-02-04 18:03:10
Run Code Online (Sandbox Code Playgroud)
因此,如果我按2014年过滤,那么我会得到输出:
timeStamp
0 2014-01-02 21:03:04
1 2014-02-02 21:03:05
Run Code Online (Sandbox Code Playgroud)
或者作为一个不同的例子,我想知道2014年和每个月的第二天发生的日期.这也会导致:
timeStamp
0 2014-01-02 21:03:04
1 2014-02-02 21:03:05
Run Code Online (Sandbox Code Playgroud)
但是,如果我要求在2014年1月2日发生的日期
timeStamp
0 2014-01-02 21:03:04
Run Code Online (Sandbox Code Playgroud)
我怎样才能在不同层面实现这一目标?
另外,如何比较这些不同级别的日期以创建布尔索引数组?