title: Replace duplicate values across columns in Pandas
body: <p>I have a simple dataframe as such:  </p>
  
  <pre><code>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  
  </code></pre>
  
  <p>Which looks like this:  </p>
  
  <pre><code>| col1 | col2 | col3 | col4 |
  |------|------|------|------|
  | A    | B    | C    | 0    |
  | M    | 0    | M    | 0    |
  | B    | B    | 0    | B    |
  | X    | 0    | Y    | 0    |
  </code></pre>
  
  <p>I just want to replace repeated characters with the character '0', across the rows. It boils down to keeping the first duplicate value we come across, as like this:  </p>
  
  <pre><code>| col1 | col2 | col3 | col4 |
  |------|------|------|------|
  | A    | B    | C    | 0    |
  | M    | 0    | 0    | 0    |
  | B    | 0    | 0    | 0    |
  | X    | 0    | Y    | 0    |
  </code></pre>
  
  <p>This seems so simple but I'm stuck. Any nudges in the right direction would be really appreciated.  </p>