Заменить повторяющиеся значения в столбцах в Pandas

У меня есть простой фрейм данных как таковой:

df = [    {'col1' : 'A', 'col2': 'B', 'col3':   'C', 'col4':'0'},
          {'col1' : 'M', 'col2':   '0', 'col3': 'M', 'col4':'0'},
          {'col1' : 'B', 'col2':  'B', 'col3':  '0', 'col4':'B'},
          {'col1' : 'X', 'col2':  '0', 'col3':  'Y', 'col4':'0'}
          ]
df = pd.DataFrame(df)
df = df[['col1', 'col2', 'col3', 'col4']]
df  

Который выглядит так:

| col1 | col2 | col3 | col4 |
|------|------|------|------|
| A    | B    | C    | 0    |
| M    | 0    | M    | 0    |
| B    | B    | 0    | B    |
| X    | 0    | Y    | 0    |

Я просто хочу заменить повторяющиеся символы символом «0» в строках. Это сводится к сохранению первого дублированного значения, с которым мы сталкиваемся, как это:

| col1 | col2 | col3 | col4 |
|------|------|------|------|
| A    | B    | C    | 0    |
| M    | 0    | 0    | 0    |
| B    | 0    | 0    | 0    |
| X    | 0    | Y    | 0    |

Это кажется таким простым, но я застрял. Любые толчки в правильном направлении будут действительно оценены.

Ответы на вопрос(1)

Ваш ответ на вопрос