gpt4 book ai didi

python - 如何在pandas数据框中查找具有相同时间间隔的行

转载 作者:行者123 更新时间:2023-11-30 21:53:32 25 4
gpt4 key购买 nike

我正在 DNS 记录中查找信标事件,并且我有包含解析的 DNS 记录的 pandas 数据帧。

结构如下:

     Received_Time       Sender_IP  Receiver_IP  Content
2019-01-01 23:59:54.999 0.0.0.1 1.1.1.1 ...
2019-01-01 23:59:56.999 0.0.0.1 1.1.1.1 ...
2019-01-01 23:59:57.999 0.0.0.1 1.1.1.1 ...
2019-01-01 23:59:58.999 0.0.0.1 1.1.1.1 ...
2019-01-01 23:59:59.999 0.0.0.1 1.1.1.2 ...

我正在努力实现:

Beacon_Interval(s)  Beacon_Count(including first)  Sender_IP  Receiver_IP
1.000 3 0.0.0.1 1.1.1.1

时间是datetime类型,我的想法是:

  1. 添加“距上次查询的时间间隔”列。
  2. 这样就可以轻松地统计并查找以相同间隔发送最多查询的发件人。

我不知道如何执行第一步。我也发帖看看是否有人有更好的方法来完成任务,提前谢谢。

最佳答案

根据我的理解,您想获得每个“接收时间”的间隔,可以通过以下方式完成:

df['Beacon_Interval(s)'] = df['Received_Time'].diff().dt.seconds

既然我们现在知道了“信标间隔”,我们就可以使用以下代码来计算它们的实例数量:

#Note, since you explicitly tell that it should count the first instance, I used +2 instead of +1 in the end.
df['Beacon_Count(including first)'] = \
df.groupby((df['Beacon_Interval(s)'] != df['Beacon_Interval(s)'].shift(1)).cumsum()).cumcount()+2

关于python - 如何在pandas数据框中查找具有相同时间间隔的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59639343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com