title: If a column contains a word, then generate a new column with the value found
body: <p>I am trying to clean my df['Country'] variable by creating a new one df['Country Clean'] that takes the value of the country variable if it finds it in the df['Country'] column.</p>
  
  <p>I figured out though that if I repeat my command, I will also delete my previous findings and i will only get a variable reporting the finding for 'Russia'</p>
  
  <p>Is there a way to do this? </p>
  
  <pre><code>data = {'Number':['1', '2', '1', '2', '1', '2'], 'Country':['Italy 1', 'Italie', 'Ecco', 'Russia is in Euroasia' ,  'Yugoslavia', 'Russia']}
  df = pd.DataFrame(data) 
  df['Country Clean'] = df['Country'].str.replace(r'(^.*Italy.*$)', 'Italy')
  df['Country Clean']  = df['Country'].str.replace(r'(^.*Russia.*$)', 'Russia')
  </code></pre>
  
  <p>Expected output</p>
  
  <pre><code>data2 = {'Number':['1', '2', '1', '2', '1', '2'], 'Country':['Italy', 'Italy', NaN, 'Russia' , NaN , 'Russia']}
  exp = pd.DataFrame(data2) 
  exp
  </code></pre>