title: How to handle mixed data types in numpy arrays
body: <p>Stuck in this Numpy Problem</p>
  
  <pre><code>country=['India','USA']
  ​gdp=[22,33]
  
  import numpy as np
  a=np.column_stack((country,gdp))
  
  array([['India', '22'],
         ['USA', '33']], dtype='&lt;U11')
  </code></pre>
  
  <p>I have an NDArray and I want to find the maximum of the 2nd column. I tried the below </p>
  
  <pre><code>print(a.max(axis=1)[1])
  print(a[:,1].max())
  </code></pre>
  
  <p>It threw this error: <code>TypeError: cannot perform reduce with flexible type</code></p>
  
  <p>Tried converting the type </p>
  
  <pre><code>datatype=([('country',np.str_,64),('gross',np.float32)])
  
  new=np.array(a,dtype=datatype)
  </code></pre>
  
  <p>But got the below error  </p>
  
  <blockquote>
    <p>could not convert string to float: 'India'.</p>
  </blockquote>