我有一个巨大的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
我试过了数据帧.滚动但效果不太好。你知道我怎么解决这个问题吗?你知道吗
这个答案可能不令人满意,但正如你所描述的问题,它是不可能解决的。只要你有没有某个(子)序列在现实中代表什么的信息,就不可能将数据分割成“driving torwards the traffic light”之类的标记类。你知道吗
除了手动调整逻辑功能、可视化数据和推理之外, 我在机器学习领域看到了两种选择:
监督学习:您至少需要一些标记的数据,算法可以从中学习某些类的特征。也就是说,你需要通过实验(让10个不同的人各自产生10倍于你想要识别的事件/类别)或者通过手动评估(子)数据序列,根据你的专家知识可视化和判断它们,来知道它们所代表的事件。^{} 包包含一些或多或少简单的方法来预测仍然未知的数据的类,即decision trees或support vector machines
无监督学习:您只需搜索特征子序列,而不必事先知道它们代表什么。^{} 有一些算法。然后还将由您和您的专家知识来查看集群的特征并给它们贴上标签。
这两种方法都需要一些努力。但我希望它能给你指明正确的方向。如果在你的研究过程中出现了更具体的问题,而你没有找到答案,那就尽管问吧。你知道吗
相关问题 更多 >
编程相关推荐