title: Failing to convert column in pandas dataframe to integer data type
body: <p>I have this code which manipulates a data set to create a new column by pulling info from an existing column. In order to match the data properly using a pd.merge function with another data set, I would like to convert the 'Channel ID' column to integers. Despite the current use of .astype(int) the results data type shows up as float64 looking at frame with .info()</p>
  
  <pre><code>def cost(received_frame):
      received_frame.columns = ['Campaign', 'Ad Spend']
      campaigns = received_frame['Campaign']
      ID = []
      for c in campaigns:
          blocks = re.split('_', c)
          for block in blocks[1:]:
              if len(block) == 6 and block.isdigit(): 
                  ID.append(block)
      ID = pd.Series(ID).str.replace("'","")
      ID = pd.DataFrame(ID)
      both = [ID,received_frame]
      frame = pd.concat(both,axis=1)
      frame.columns = ['Channel ID', 'Campaign', 'Ad Spend']
      frame['Channel ID'] = frame['Channel ID'].dropna().astype(int)
      return frame
  </code></pre>