我有一個這樣的 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
謝謝,一切順利。
uj5u.com熱心網友回復:
您可以通過檢查 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424629.html
標籤:Python 熊猫 matplotlib 阴谋
