У меня есть кадр данных из нескольких сотен тысяч строк.Который имеет следующий формат:
time_elapsed cycle
0 0.00 1
1 0.50 1
2 1.00 1
3 1.30 1
4 1.50 1
5 0.00 2
6 0.75 2
7 1.50 2
8 3.00 2
Я хочу создать третий столбец, который будет давать мне процент от каждого экземпляра времени, когда строка имеет цикл (до следующего time_elapsed = 0).Чтобы дать что-то вроде:
time_elapsed cycle percentage
0 0.00 1 0
1 0.50 1 33
2 1.00 1 75
3 1.30 1 87
4 1.50 1 100
5 0.00 2 0
6 0.75 2 25
7 1.50 2 50
8 3.00 2 100
Меня не смущает количество десятичных знаков, я просто исключил их для простоты здесь.
Я начал идти по этому маршруту, ноЯ продолжаю получать ошибки.
data['percentage'] = data['time_elapsed'].sub(data.groupby(['cycle'])['time_elapsed'].transform(lambda x: x*100/data['time_elapsed'].max()))
Я думаю, что это лямбда-функция, вызывающая ошибки, но я не уверен, что мне следует сделать, чтобы изменить ее.Любая помощь очень ценится:)