title: string replace method in pandas gives an unexpected result
body: <p>I'm trying to change the values of 35 000 rows on a DataFrame using the string replace method. However, my solution does not return what I want and I can't figure out why it fails. Here is a simple example of the data frame:</p>
  <pre><code>import pandas as pd
  
  liste = ['1_8','1_8','1_8','1_8','1_8','1_8','1_9', '1_9', '1_9','1_9','1_10','1_10','1_10','1_10','1_10','1_10','1_11','1_11']
  mycooldataframe = pd.DataFrame(liste, columns =['bib']) 
  
  </code></pre>
  <p>print(mycooldataframe)</p>
  <pre><code>    bib
  0   1_8
  1   1_8
  2   1_8
  3   1_8
  4   1_8
  5   1_8
  6   1_9
  7   1_9
  8   1_9
  9   1_9
  10  1_10
  11  1_10
  12  1_10
  13  1_10
  14  1_10
  15  1_10
  16  1_11
  17  1_11
  </code></pre>
  <p>I want to change 1_8 so that it becomes 108. Similarly, I want to replace 1_11 so that it becomes 110. I have tried to solve this using:</p>
  <pre><code>
  mycooldataframe['bib'] = mycooldataframe['bib'].str.replace('1_8', '108')
  </code></pre>
  <p>, which works fine. It gives me 108. But if I use:</p>
  <pre><code>mycooldataframe['bib'] = mycooldataframe['bib'].str.replace('1_10', '110')
  </code></pre>
  <p>that gives me 1010. Why doesn't it work? Is there a better way to solve this problem. I appreciate your help.</p>