【发布时间】:2016-06-16 18:44:51
【问题描述】:
我的数据框有两列:(i) 字符串格式的日期列和 (ii) int 值。我想将日期字符串转换为日期对象,然后根据日期范围过滤和排序数据。将一个字符串转换为日期可以正常工作:
date = dateutil.parser.parse(date_string)
date = ("%02d:%02d:%02d" % (date.hour, date.minute, date.second))
如何迭代数据框中的所有值并应用解析,然后我可以使用 df 上的 panda 库对数据进行过滤和排序,如下所示?
df.sort(['etime'])
df[df['etime'].isin([begin_date, end_date])]
我的数据框数据示例如下:
etime instantaneous_ops_per_sec
3 2016-06-15T15:30:09Z 26
4 2016-06-15T15:30:14Z 26
5 2016-06-15T15:30:19Z 24
6 2016-06-15T15:30:24Z 27
【问题讨论】:
-
我认为您可能希望
df['etime'].between(begin_date, end_date)而不是使用isin进行过滤。使用isin只会返回True与begin_date或end_date完全匹配的日期。对于包含在begin_date和end_date之间的日期,使用between将返回True。
标签: python pandas filter dataframe