Python Pandas根据时间选择列中的值

我是Python和机器学习的新手,正在尝试处理csv文件并创建一个模型来预测主机响应的持续时间。

首先,我使用Pandas解析了csv文件中的日志,现在我有一个csv文件,其中包含以下顺序的列和示例:

                               _time             host  duration202     2020-09-26T10:56:33.630+0200           malcon       850203     2020-09-26T10:56:33.630+0200          malcon2       878703     2020-09-25T21:26:04.651+0200           malcon       973

最初我想使用一些异常检测模型,但可能有更简单的方法来实现我的目标。我希望在3分钟的时间间隔内获取持续时间值高于800的数据,并根据我一周的数据来预测这些值。

我开始编写代码来查找持续时间值大于或等于800的记录,但不知道如何将它们与时间关联并定义时间间隔。

到目前为止,我的代码是这样的:

任何提示和建议都将不胜感激!谢谢!

更新:

我尝试使用rolling函数,但我想我没有正确理解它,并且在使用中有点迷失了方向。

正如这里建议的,我使用to_datetime函数转换时间戳并按时间排序数据。不幸的是,我找不到一种方法来指定持续时间高于800的3分钟时间间隔。

我的代码现在看起来像这样:

输出:

                                  _time             host  duration202    2020-09-26 08:56:33.630000+00:00           malcon       850203    2020-09-26 08:56:33.630000+00:00          malcon2       850702    2020-09-25 19:26:05.573000+00:00           malcon       878703    2020-09-25 19:26:04.651000+00:00           malcon       973704    2020-09-25 19:26:03.667000+00:00           malcon       993...

回答:

如果你正在寻找在前3分钟内没有记录到任何小于800的值,而值大于或等于800的任何记录,这种方法会有效:

请注意,对于日期时间偏移窗口,center窗口选项尚未实现,因此检查前3分钟(或根据顺序的后3分钟)是这种方法的唯一选择。如果你不介意对数据框进行两次排序,你可以结合前后结果来检查样本的两侧。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注