使用 Python 和 Matplotlib 绘制传感器数据
Graph Sensor Data with Python and Matplotlib
我有一个这样的 csv 文件:
sensor_name, time
bed, 01:08:40
bed, 01:09:33
bed, 01:09:51
bed, 01:11:06
kitchen, 01:27:57
kitchen, 01:30:03
living, 01:32:51
living, 01:33:06
living, 01:34:06
living, 01:35:06
living, 01:37:06
bed, 01:40:50
bed, 01:41:06
bed, 01:42:54
bed, 01:45:06
living, 01:50:30
为了跟踪运动,我只想使用 matplotlib 绘制传感器发生变化的值,即变化前的第一个和最后一个值,并消除其余部分。预期结果如下所示:
sensor_name, time
bed, 01:08:40
bed, 01:11:06
kitchen, 01:27:57
kitchen, 01:30:03
living, 01:32:51
living, 01:37:06
bed, 01:40:50
bed, 01:45:06
living, 01:50:30
谢谢,祝一切顺利。
您可以通过检查 sensor_name 是否更改来计算掩码(使用 shift
获取下一行):
mask = df['sensor_name'].ne(df['sensor_name'].shift())
# change + previous row
df[mask|mask.shift(-1)]
输出:
sensor_name time
0 bed 01:08:40
3 bed 01:11:06
4 kitchen 01:27:57
5 kitchen 01:30:03
6 living 01:32:51
10 living 01:37:06
11 bed 01:40:50
14 bed 01:45:06
15 living 01:50:30
我有一个这样的 csv 文件:
sensor_name, time
bed, 01:08:40
bed, 01:09:33
bed, 01:09:51
bed, 01:11:06
kitchen, 01:27:57
kitchen, 01:30:03
living, 01:32:51
living, 01:33:06
living, 01:34:06
living, 01:35:06
living, 01:37:06
bed, 01:40:50
bed, 01:41:06
bed, 01:42:54
bed, 01:45:06
living, 01:50:30
为了跟踪运动,我只想使用 matplotlib 绘制传感器发生变化的值,即变化前的第一个和最后一个值,并消除其余部分。预期结果如下所示:
sensor_name, time
bed, 01:08:40
bed, 01:11:06
kitchen, 01:27:57
kitchen, 01:30:03
living, 01:32:51
living, 01:37:06
bed, 01:40:50
bed, 01:45:06
living, 01:50:30
谢谢,祝一切顺利。
您可以通过检查 sensor_name 是否更改来计算掩码(使用 shift
获取下一行):
mask = df['sensor_name'].ne(df['sensor_name'].shift())
# change + previous row
df[mask|mask.shift(-1)]
输出:
sensor_name time
0 bed 01:08:40
3 bed 01:11:06
4 kitchen 01:27:57
5 kitchen 01:30:03
6 living 01:32:51
10 living 01:37:06
11 bed 01:40:50
14 bed 01:45:06
15 living 01:50:30