gpt4 book ai didi

pandas - 使用 Pandas 过滤和比较日期

转载 作者:行者123 更新时间:2023-12-03 07:01:07 25 4
gpt4 key购买 nike

我想知道如何在所有不同的时间级别过滤不同的日期,即按年、月、日、小时、分钟和/或天查找日期。例如,如何查找 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

因此,如果我按 2014 年进行过滤,那么我将得到以下输出:

    timeStamp
0 2014-01-02 21:03:04
1 2014-02-02 21:03:05

或者作为另一个示例,我想知道 2014 年和每个月 2 号发生的日期。这也会导致:

    timeStamp
0 2014-01-02 21:03:04
1 2014-02-02 21:03:05

但是如果我要求的日期是 2014 年 1 月 2 日

    timeStamp
0 2014-01-02 21:03:04

我怎样才能在所有不同的层面上实现这一目标?

另外,如何比较这些不同级别的日期以创建 bool 索引数组?

最佳答案

您可以通过 bool 索引过滤数据帧,如下所示:

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']

...等等等等。

关于pandas - 使用 Pandas 过滤和比较日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44162585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com