title: Parsing dates in pandas.read_csv with null-value handling?
body: <p>Consider the following made-up CSV:</p>
  <pre><code>from io import StringIO
  
  data = &quot;&quot;&quot;value,date
  7,null
  7,10/18/2008
  621,(null)&quot;&quot;&quot;
  
  fake_file = StringIO(data)
  </code></pre>
  <p>I want to read this file using <code>pandas.read_csv</code>, handling nulls with the <code>na_values</code> parameter and dates with <code>parse_dates</code> and <code>date_parser</code>:</p>
  <pre><code>import pandas as pd
  
  date_parser = lambda c: pd.datetime.strptime(c, '%m/%d/%Y')
  
  df = pd.read_csv(fake_file,
                   parse_dates=['date'],
                   date_parser=date_parser,
                   na_values=['null', '(null)'])
  </code></pre>
  <p>Running this code in Python 3.5 gives me this:</p>
  <pre><code>  File &quot;&lt;ipython-input-11-aa5bcf0858b7&gt;&quot;, line 1, in &lt;lambda&gt;
      date_parser = lambda c: pd.datetime.strptime(c, DATE_FMT)
  
  TypeError: strptime() argument 1 must be str, not float
  </code></pre>
  <p>So it seems the nulls are handled first and then the dates are attempted to be parsed...</p>
  <p>I know I can do this:</p>
  <pre><code>df = pd.read_csv(fake_file,
                   na_values=['null', '(null)'])
  df['date'] = pd.to_datetime(df['date'],
                              format='%m/%d/%Y')
  </code></pre>
  <p>But my real question is how to both handle date formatting and <code>NaN</code>-handling in one fell swoop...</p>