在数据帧中搜索模式

2024-06-25 22:46:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个巨大的csv文件,其中包含一辆自行车正在行驶的数据。 所以我得到了以秒为单位的时间列和速度列。 我想检查一下数据中的具体模式,以便得出路上发生了什么。你知道吗

例如,向红绿灯方向行驶:

到目前为止我知道了:

import pandas as pd

df = pd.read_csv('.csv', usecols = ['time', 'speed']) 
df['accelerating'] = df['speed'].diff() > 0

我想要这样的东西:

  df_traffic_light = df.loc[df['speed'] < 15 & accelerating == False #driving torwards the traffic light; 
    & df.loc[df['speed']< 1 #getting really slow or Standing still;
    & df.loc[df['speed']  > 5 & accelerating == True #for light switched to green and starting again 

预期产量:

         time     speed  acceleration
0   5.000         14.0          false
1   7.056         12.0          false
2   10.097         8.0          false
3   12.131         1.0          false
4   14.165         0.0          false
5   16.201         0.0          false
6   18.236         2.0          true 
7   20.267         4.0          true

我试过了数据帧.滚动但效果不太好。你知道我怎么解决这个问题吗?你知道吗


Tags: 文件csv数据falsetruedftime自行车
1条回答
网友
1楼 · 发布于 2024-06-25 22:46:18

这个答案可能不令人满意,但正如你所描述的问题,它是不可能解决的。只要你有没有某个(子)序列在现实中代表什么的信息,就不可能将数据分割成“driving torwards the traffic light”之类的标记类。你知道吗

除了手动调整逻辑功能、可视化数据和推理之外, 我在机器学习领域看到了两种选择:

  1. 监督学习:您至少需要一些标记的数据,算法可以从中学习某些类的特征。也就是说,你需要通过实验(让10个不同的人各自产生10倍于你想要识别的事件/类别)或者通过手动评估(子)数据序列,根据你的专家知识可视化和判断它们,来知道它们所代表的事件。^{}包包含一些或多或少简单的方法来预测仍然未知的数据的类,即decision treessupport vector machines

  2. 无监督学习:您只需搜索特征子序列,而不必事先知道它们代表什么。^{}有一些算法。然后还将由您和您的专家知识来查看集群的特征并给它们贴上标签。

这两种方法都需要一些努力。但我希望它能给你指明正确的方向。如果在你的研究过程中出现了更具体的问题,而你没有找到答案,那就尽管问吧。你知道吗

相关问题 更多 >