【发布时间】:2018-06-15 01:52:35
【问题描述】:
我正在努力完成以下工作......
我有一个 Pandas 数据框,它有许多条目,用 DatetimeIndex 索引,看起来有点像这样:
bro_df.info()
<class 'bat.log_to_dataframe.LogToDataFrame'>
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 变量转换为其他类型?
或者我可能像往常一样完全找错树了。
任何帮助或指导将不胜感激。
干杯,迈克
【问题讨论】:
标签: pandas datetime dataframe slice