如何使用Pandas在DataFrame中的特定时间之间获取数据

ffscu2ro  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(304)

下面是我正在使用的dataFrame的一小段代码:

fruit       time
0    apple       2021-12-20 17:55:00
1    bannana     2021-12-23 05:13:00
2    apple       2021-12-20 17:55:00

我怎样才能获取特定时间戳之间的数据呢?比如17:00:00到18:00:00之间的所有数据。
此外,如果可能,我希望在某些时间戳之间获取水果值等于“苹果”的数据
我尝试了df.between_time,但得到错误:TypeError:索引必须为DatetimeIndex。似乎时间戳格式存在问题。

oyxsuwqo

oyxsuwqo1#

**解决方案1:**用于过滤hour介于1718之间的行的布尔索引:

df[df['fruit'].eq('apple') & df['time'].dt.hour.between(17, 18)]

**解决方案2:**将索引设置为time列,然后使用between_time筛选行

(
    df
    .set_index('time')
    .query("fruit == 'apple'")
    .between_time('17:00:00', '18:00:00')
    .reset_index()
)

结果

fruit                time
0  apple 2021-12-20 17:55:00
2  apple 2021-12-20 17:55:00

相关问题