Я борюсь с поворотом некоторых данных датчика в padas.
Я бы хотел прийти от этого
source_df = pd.DataFrame({'time': [1,1,1,1,2,2,2,2],
'sensor_id': ['s1', 's1', 's2', 's2', 's1', 's1', 's2', 's2'],
'value_type': ['a', 'b', 'a', 'b','a', 'b','a', 'b',],
'value': [1,2,3,4,5,6,7,8]})
time sensor_id value_type value
0 1 s1 a 1
1 1 s1 b 2
2 1 s2 a 3
3 1 s2 b 4
4 2 s1 a 5
5 2 s1 b 6
6 2 s2 a 7
7 2 s2 b 8
к этой форме
target_df = pd.DataFrame({'sensor_id': ['s1', 's2', 's1', 's2'],
'a': [1, 3, 5, 7],
'b': [2, 4, 6, 8],
'time': [1, 1, 2, 2]})
target_df
sensor_id a b time
0 s1 1 2 1
1 s2 3 4 1
2 s1 5 6 2
3 s2 7 8 2
Каким-то образом я ожидаю, что pivot
сработает ... просто:
source_df.pivot(columns = 'value_type', values = 'value')
- но это не создает желаемого результата.
В R
просто работает
но я действительно не понимаю, как получить тот же результат в pandas
.