【发布时间】:2017-07-02 00:00:56
【问题描述】:
我有一些以时间戳为列的数据框,我想使用 np.where 过滤 8:00:00 到 17:00:00 之间的行。我不断收到有关数据/对象类型的错误消息。任何帮助将不胜感激
示例:
timestamp volume
2013-03-01 07:59:00 5
2013-03-01 08:00:00 6
2013-03-01 08:01:00 7
2013-03-01 08:02:00 8
基本上我想结束:
2013-03-01 08:00:00 6
2013-03-01 08:01:00 7
2013-03-01 08:02:00 8
通过使用沿线的方法
np.where(df['timestamp'] > dt.time('8:00:00')
【问题讨论】:
-
发布您收到的错误消息:它们通常会告诉您您做错了什么。
-
df['timestamp'].dtpye是什么? -
如果第二行应该进入结果集,您将需要使用
>=。此外,df[df.timestamp > '08:00:00']应该可以工作,无论 dtype 是对象还是日期时间。 -
df.set_index('timestamp').between_time('08:00','17:00').reset_index()? -
df['timestamp'].dtype 显示 dtype('O')。我尝试了 df[df.timestamp > '08:00:00'] 但没有运气 - 表返回空数据框 np.where(df['timestamp'] > dt.time('8:00:00') 产生: TypeError:描述符“时间”需要一个“datetime.datetime”对象但收到一个“str”
标签: python pandas dataframe timestamp