title: Pandas DataFrame cast multiple types to columns
body: <p>I'd like to declare different types for the columns of a pandas DataFrame at instantiation:</p>
  
  <pre><code>frame = pandas.DataFrame({..some data..},dtype=[str,int,int])
  </code></pre>
  
  <p>This works if dtype is only one type (e.g <code>dtype=float</code>), but not multiple types as above - is there a way to do this?</p>
  
  <p>The common solution seems to be to cast later:</p>
  
  <pre><code>frame['some column'] = frame['some column'].astype(float)
  </code></pre>
  
  <p>but this has a couple of issues:</p>
  
  <ol>
  <li>It's messy</li>
  <li>Looks like it involves an unnecessary copy operation - this could be expensive on large data sets.</li>
  </ol>