在特定日期和时间之前/之后截断错误

时间:2018-11-19 18:35:06

标签: python python-3.x pandas numpy dataframe

我编写了一个函数,该函数旨在在给定范围之前或之后截断我的数据。我传入一个日期元组,位置1是开始日期,位置2是结束日期。

我还可以选择如何指定时间以及截断b4的日期以及之后的时间-我将如何修改代码来做到这一点?*)

也-我的数据不断出现错误:

    raise InvalidIndexError('Reindexing only valid with uniquely'
pandas.core.indexes.base.InvalidIndexError: Reindexing only valid with uniquely valued Index
objects

我使用:

date_range = self.data.copy()
nearest_start = date_range.iloc[
            date_range.index.get_loc(datetime.datetime.strptime(split[0], '%m-%d-%Y'),
                     method='nearest')].name
...
date_range = date_range.truncate(before=nearest_start, after=nearest_end)

我的日期元组:

('12-29-2011','12-23-2017')

这是我的数据集df.head():

                               Open       H   ...                RBE1min        O
        DateTime                              ...                                
        2007-11-06 12:45:00 -0.6437 -0.6423   ...     11/6/2007 12:45.00  21198.0
        2007-11-06 14:30:00 -0.6430 -0.6425   ...     11/6/2007 14:30.00  21355.0
        2007-11-06 19:33:00 -0.6423 -0.6400   ...     11/6/2007 19:33.00  21430.0
        2007-11-07 09:00:00 -0.6434 -0.6421   ...     11/7/2007 09:00.00  21440.0
        2007-11-07 12:26:00 -0.6433 -0.6396   ...     11/7/2007 12:26.00  21392.0

我已经运行了以下命令以检查索引中是否有dupilcates,并且它返回NAT,所以我不确定为什么我仍然会收到此错误

任何帮助将不胜感激

dup = rbs4181.index.get_duplicates()

1 个答案:

答案 0 :(得分:0)

我担心的不完全是你想要的。但这可能会有所帮助:

我使用此数据集http://archive.ics.uci.edu/ml/datasets/Occupancy+Detection+#进行测试。

对于日期时间索引,可以将解析为时间戳的日期和字符串作为索引参数以及beforeafter的{​​{1}}和truncate参数进行传递。

pd.Timestamp

因此,我认为您只需要修改函数即可验证是否通过了有效的日期(和时间)。