Моделирование проблемы:
Допустим, у нас есть фрейм данных
DF = pd.DataFrame({'a' : [ 3, 0, 1, 0, 1, 14, 2, 0, 0, 0, 0],
'b' : [ 3, 0, 1, 0, 1, 14, 2, 0, 0, 0, 0],
'c' : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
'd' : [5, 1, 2 ,1, 1 ,22, 30, 1, 0, 0, 0]})
Мы хотим изменить 0 на 100, только если все значения в конкретном столбце равны нулю. В нашем случае это столбец c.
В конце концов у нас будет
'a' : [ 3, 0, 1, 0, 1, 14, 2, 0, 0, 0, 0],
'b' : [ 3, 0, 1, 0, 1, 14, 2, 0, 0, 0, 0],
'c' : [ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
'd' : [5, 1, 2 ,1, 1 ,22, 30, 1, 0, 0, 0]})
Я думал о DF.where(...)
, но изо всех сил пытался установить правильное состояние. Вероятно, есть другой способ.