У меня есть фрейм данных, который имеет несколько столбцов, которые представляют, существовало или нет что-то, но они имеют порядковый характер. Что-то могло существовать во всех трех категориях, но я хочу указать только самый высокий уровень, в котором оно существовало.
Таким образом, для данной строки мне нужно только одно значение '1', но я хочу, чтобы оно сохранялось на самом высоком уровне, на котором оно было найдено.
Для этой строки:
1,1,0
, я бы хотел, чтобы строка была изменена на 1,0,0
и этот ряд:
0,1,1
, я бы хотел, чтобы строка была изменена на 0,1,0
Вот пример того, как могут выглядеть данные, и ожидаемый результат:
import pandas as pd
#input data
df = pd.DataFrame({'id':[1,2,3,4,5],
'level1':[0,0,0,0,1],
'level2':[1,0,1,0,1],
'level3':[0,1,1,1,0]})
#expected output:
new_df = pd.DataFrame({'id':[1,2,3,4,5],
'level1':[0,0,0,0,1],
'level2':[1,0,1,0,0],
'level3':[0,1,0,1,0]})