如何使用24小时时间序列数据作为预测特征

我想知道如何最好地使用这种24小时时间格式作为预测特征。我的想法是将其分为一天中每个小时的24个类别。是否有简单的方法将此对象转换为Python的datetime对象,以便更容易进行分类,或者您建议如何处理这个特征?谢谢 🙂

df['Duration']0         2:501         7:252        19:003         5:254         4:455         2:25df['Duration'].dtypedtype('O')

回答:

最佳解决方案将取决于您希望从模型中获得什么。在许多情况下,将其转换为自某个纪元以来的总秒数(或分钟或小时)是有意义的。要将您的数据转换为自00:00以来的秒数,您可以使用:

from datetime import datetimet_str = "2:50"t_delta = datetime.strptime(t_str, "%H:%M") - datetime(1900, 1, 1)seconds = t_delta.total_seconds()hours = seconds/60**2print(seconds)# 10200.0

使用Python的datetime类不支持超过23:59的时间值。由于您的数值似乎实际上是持续时间,您可能希望将其表示为Python的timedelta类的实例。

from datetime import timedelta  h, m = map(int, t_str.split(sep=':'))t_delta = timedelta(hours=h, minutes=m)# 获取总秒数seconds = t_delta.total_seconds()

Related Posts

外部链接 – 平局时的处理方法

为了学习目的,我正在考虑从头开始实现一个完全链接聚类算…

将非监督学习模型传递给cross_val_score

当我们将没有predict方法的对象传递给cross_…

如何根据不同用途定制AlexNet

过去一周我一直在学习机器学习,并且我一直在尝试使用12…

敏感性特异性图 Python

我正在尝试重现类似于这个的敏感性特异性图:其中X轴是阈…

自定义Spacy NER模型整体F分数与单个实体F分数之间存在较大差异

我正在使用Spacy训练一个自定义的NER模型,训练数…

如何根据分组中的最大值将一个列的标签分配给新列

我有一个如下示例数据框 df = pd.DataFra…

发表回复

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