title: Pandas read_sql_query returning None for all values in some columns
body: <p>I am using pandas read_sql_query to read data from a MySQL database table into a pandas dataframe. Some columns in this table have all NULL values. For those columns the pandas dataframe contains None in every row. For all other columns the dataframe contains NaN where there was a NULL value. Can anyone explain why None is returned for the all NULL columns? And how do I make sure I have all NaNs, hopefully without doing manual conversions?
  I should add that two of the columns causing this problem are float and the third is of type double,</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Here is an example. The columns pef and fer contain all NULLS in the database.  </p>
  
  <pre><code>from sqlalchemy import create_engine
  import pandas as pd
  import math
  
  querystr = "SELECT * FROM dbname.mytable"
  engine = create_engine('mysql+pymysql://username:password@localhost/' + "dbname")
  df = pd.read_sql_query(querystr, engine)
  df.head()
  
      sys     dias    pef     fer
  0   NaN     NaN     None    None
  1   159.0   92.666  None    None
  2   NaN     NaN     None    None
  3   NaN     NaN     None    None
  4   102.0   63.333  None    None
  </code></pre>
  
  <p>In the MySQL database these columns are defined as:</p>
  
  <pre><code>Columns: 
      sys float 
      dias float 
      pef float 
      fer float
  </code></pre>
  
  <p>I would expect the columns pef and fer to contain NaN in each row, not None.</p>