如何按小时过滤数据帧?

时间:2020-07-21 06:16:31

标签: python pandas

我有一个这样的数据框:

|Job    | Time   |
|-------|--------|
|A      |10:00:00|
|B      |10:00:00|
|C      |11:00:00|
|D      |11:30:00|

“时间”列的格式为字符串。我想过滤数据框,以创建仅由10:00:00到11:00:00之间的作业组成的另一个数据框。 如何进行过滤?

2 个答案:

答案 0 :(得分:3)

如果要将其保留为字符串,则只需:

df[(df['Time'] >= '10:00:00') & (df['Time'] <= '11:00:00')]

或根据jezrael的建议使用.between,但是如果您将其保留为字符串,则不需要pd.to_timedelta

    Job Time
0   A   10:00:00
1   B   10:00:00
2   C   11:00:00

答案 1 :(得分:2)

to_timedeltaSeries.between一起使用,并按boolean indexing进行过滤:

df = df[pd.to_timedelta(df['Time']).between('10:00:00','11:00:00')]
print (df)
  Job      Time
0   A  10:00:00
1   B  10:00:00
2   C  11:00:00