我有一个这样的数据框:
|Job | Time |
|-------|--------|
|A |10:00:00|
|B |10:00:00|
|C |11:00:00|
|D |11:30:00|
“时间”列的格式为字符串。我想过滤数据框,以创建仅由10:00:00到11:00:00之间的作业组成的另一个数据框。 如何进行过滤?
答案 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_timedelta
与Series.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