import pandas as pd
df = pd.DataFrame({'Org1': [1,1,1,1,2,2,2,2,3,3,3,4,4,4],
'Org2': ['x','x','y','y','z','y','z','z','x','y','y','z','x','x'],
'Org3': ['a','a','b','b','c','b','c','c','a','b','b','c','a','a'],
'Value': [0,0,3,1,0,1,0,5,0,0,0,1,1,1]})
df
Для каждого уникального набора «Org1, Org2, Org3» и на основе «Значения»
Первое ненулевое «значение» должно иметь «FLAG» = 1 и другие = 0
Если все "значения" равны 0, тогда один из "FLAG" строки = 1 и другие = 0
Если все «значения» в столбце NON ZERO, тогда первый экземпляр имеет FLAG = 1 и другие 0
Я использовал решения, представленные в Пометить первый ненулевой столбец значение с 1 и остальные 0 с несколькими столбцами
Одна разница в вышеупомянутой точке 2 не рассматривается
"Если все" значения "равны 0, тогда один из" FLAG "строки = 1 и другие = 0 "