我想知道如何在所有不同的时间级别过滤不同的日期,即按年,月,日,小时,分钟和/或日查找日期.例如,如何查找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)
我怎样才能在不同层面实现这一目标?
另外,如何比较这些不同级别的日期以创建布尔索引数组?
And*_*w L 10
您可以通过布尔索引来过滤数据帧,如下所示:
df.loc[df['timeStamp'].dt.year == 2014]
df.loc[df['timeStamp'].dt.month == 5]
df.loc[df['timeStamp'].dt.second == 4]
df.loc[df['timeStamp'] == '2014-01-02']
df.loc[pd.to_datetime(df['timeStamp'].dt.date) == '2014-01-02']
Run Code Online (Sandbox Code Playgroud)
... 等等等等.
| 归档时间: |
|
| 查看次数: |
10355 次 |
| 最近记录: |