title: find duplicates replace with suffix of column names pandas dataframe
body: <p>I have a pandas df something like this</p>
  <pre><code>       ABC           DEF            item            color          char
     0   plt           yes            RoSe            Rose          Fragrant
     1   plt1          no            Violet          VIOLET           NA
     2   plt2          yes            Lily            White         Fragrant
     3   plt4          yes            ROSE            na            Fragrant
  </code></pre>
  <p>I want to now check in a list of columns and any value that is appearing in more than once anywhere, to be replaced with the value with suffix of column name. The search should be case-insensitive, but the replacement need not be. So my list of columns is</p>
  <pre><code>   my_list = ['item', 'color', 'char']
  </code></pre>
  <p>Expected output:</p>
  <pre><code>       ABC           DEF            item            color          char
     0   plt           yes          Rose_item        Rose_color     Fragrant
     1   plt1          no           Violet_item      Violet_color    Na_char
     2   plt2          yes            Lily           White          Fragrant
     3   plt4          yes          Rose_item        Na_color       Fragrant
  </code></pre>
  <p>Can someone please help me with this? Also, is there anyway we can exclude a word from the search? For example, I dont want the value of NA to be replaced. Thanks a lot in advance</p>