我正在努力完成以下任务......
我有一个Pandas数据框,有许多条目,用DatetimeIndex索引,看起来有点像这样:
bro_df.info()
DatetimeIndex: 3596641 entries, 2017-12-14 13:52:01.633070 to 2018-01-03 09:59:53.108566
Data columns (total 20 columns):
conn_state object
duration timedelta64[ns]
history object
id.orig_h object
id.orig_p int64
id.resp_h object
id.resp_p int64
local_orig bool
local_resp bool
missed_bytes int64
orig_bytes int64
orig_ip_bytes int64
orig_pkts int64
proto object
resp_bytes int64
resp_ip_bytes int64
resp_pkts int64
service object
tunnel_parents object
uid object
dtypes: bool(2), int64(9), object(8), timedelta64[ns](1)
memory usage: 528.2+ MB
我感兴趣的是在这种情况下获取最后一个条目2018-01-03 09:59:53.108566'的一部分数据,然后从中减去一小时。 这应该给我最后几小时的参赛时间。
到目前为止我试图做的是以下内容:
last_entry = bro_df.index[-1:]
first_entry = last_entry - pd.Timedelta('1 hour')
哪个给了我什么看起来像是相当正确的值,如下:
print(first_entry)
print(last_entry)
DatetimeIndex(['2018-01-03 08:59:53.108566'], dtype='datetime64[ns]', name='ts', freq=None)
DatetimeIndex(['2018-01-03 09:59:53.108566'], dtype='datetime64[ns]', name='ts', freq=None)
遗憾的是,这也让我陷入困境。 我用bro_df.loc和bro_df.iloc等尝试了各种各样的东西,但我得到的是数据类型的不同错误而不是索引等。这让我觉得我可能需要将first_entry,last_entry变量转换为另一种类型?
或者我可能像往常一样咆哮完全错误的树。
任何协助或指导都将非常感激。
干杯,迈克