Python 获取包含特定时间的所有数据行,而不考虑日、月、年

Python 获取包含特定时间的所有数据行,而不考虑日、月、年,python,dataframe,for-loop,time,grouping,Python,Dataframe,For Loop,Time,Grouping,我有一个看起来像这样的数据集: A B C Full Date 2018-11-01 22:00:45 19 A1 2004.123711 2018-11-01 22:15:00 19 F3 2000.000000 2018-11-01 22:30:00 19 A1 2032.

我有一个看起来像这样的数据集:

                          A   B     C        
    Full Date                                              
    2018-11-01 22:00:45  19  A1  2004.123711
    2018-11-01 22:15:00  19  F3  2000.000000
    2018-11-01 22:30:00  19  A1  2032.000000
    2018-11-01 22:45:00  19  N3  2038.264739
    2018-11-01 23:00:00  19  M33 2044.000000
    .
    .
    .                                            
    2019-11-29 23:45:00  169  T4  2156.000000
    2019-11-29 23:45:00   98  C3  6010.678532
    2019-11-29 23:45:00   87  B5  142.574257
    2019-11-29 23:45:00  186  E21 2256.818182
    2019-11-29 23:45:00   62  F40 1976.878613
我正在尝试对数据进行分组,以便只获取整个数据集,包括时间戳: 00:00:00(年份和月份不重要)。我使用了groupby(data.index.time),但这并没有满足我的需要

我在考虑是否可以使用for循环,但我不确定如何获得整行数据,而不仅仅是我以前在dataframe上使用的特定值

我在考虑将索引日期划分为“日期”和“时间”列,然后:

for in range(len(data)):
    if(data[loc[i,'time'] == '00:00:00']:
        df.append(i)
这种方法有两个问题。1) “time”列是对象2)df的数据类型。append(i)不会获取整行

我不知道如何正确地做到这一点,分组的具体时间。 我想要的数据集是:

                          A   B     C        
    Full Date                                              
    2018-11-01 00:00:00  1   F1  2004.123711
    2018-12-10 00:00:00  3   F3  2000.000000
    2019-01-15 00:00:00  2   A3  2032.000000
    2019-06-21 00:00:00  1   N3  2038.264739
    2018-10-29 00:00:00  21  M3  2044.000000

单向使用
datetime.time

import datetime
# Sample data
            Full Date   A    B            C
0 2018-11-01 22:00:45  19   A1  2004.123711
1 2018-11-01 22:15:00  19   F3  2000.000000
2 2018-11-01 00:00:00  19   A1  2032.000000
3 2018-11-01 22:45:00  19   N3  2038.264739
4 2018-11-01 23:00:00  19  M33  2044.000000

new_df = df[df["Full Date"].dt.time.eq(datetime.time(0, 0))]
print(new_df)
输出:

   Full Date   A   B       C
2 2018-11-01  19  A1  2032.0

单向使用
datetime.time

import datetime
# Sample data
            Full Date   A    B            C
0 2018-11-01 22:00:45  19   A1  2004.123711
1 2018-11-01 22:15:00  19   F3  2000.000000
2 2018-11-01 00:00:00  19   A1  2032.000000
3 2018-11-01 22:45:00  19   N3  2038.264739
4 2018-11-01 23:00:00  19  M33  2044.000000

new_df = df[df["Full Date"].dt.time.eq(datetime.time(0, 0))]
print(new_df)
输出:

   Full Date   A   B       C
2 2018-11-01  19  A1  2032.0

谢谢你,克里斯!这正是我想要的!谢谢你,克里斯!这正是我想要的!