title: Identifying near duplicate keywords and replacing them
body: <p>I have a dataframe like as shown below</p>
  <pre><code>ID,Name,year,output
  1,Test Level,2021,1
  2,Test Lvele,2022,1
  2,dummy Inc,2022,1
  2,dummy Pvt Inc,2022,1
  3,dasho Ltd,2022,1
  4,dasho PVT Ltd,2021,0
  5,delphi Ltd,2021,1
  6,delphi pvt ltd,2021,1
  
  df = pd.read_clipboard(sep=',')
  </code></pre>
  <p>My objective is</p>
  <p>a) To replace near duplicate strings using a common string.</p>
  <p>For example - let's pick couple of strings from <code>Name</code> column. We have <code>dummy Inc</code> and <code>dummy Pvt Inc</code>. These both have to be replaced as <code>dummy</code></p>
  <p>I manually prepared a mapping df <code>map_df</code> like as below (but can't do this for big data)</p>
  <pre><code>  Name,correct_name
    Test Level,Test
    Test Lvele,Test
    dummy Inc,dummy
    dummy Pvt Inc,dummy
    dasho Ltd,dasho
    dasho PVT Ltd,dasho
    delphi Ltd,delphi
    delphi pvt ltd,delphi
  </code></pre>
  <p>So, I tried the below</p>
  <pre><code>map_df = map_df.set_index(Name)
  df['Name'] = df['Name'].map(map_df) # but this doesn't work and throws error
  </code></pre>
  <p>Is creating mapping table the only way or is there any NLP based approach?</p>
  <p>I expect my output to be like as below</p>
  <pre><code>ID,Name,year,output
  1,Test,2021,1
  2,Test,2022,1
  2,dummy,2022,1
  2,dummy,2022,1
  3,dasho,2022,1
  4,dasho,2021,0
  5,delphi,2021,1
  6,delphi,2021,1
  </code></pre>