如何使用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

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

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