title: Add pandas.Timedelta to a datetime64 Series or column in DataFrame
body: <p>Here is a pandas dataframe with a datetime64[ns] column. </p>
  
  <pre><code>In [69]: dataframe_with_datetime
     some_other_column                  ts
  0                  0 2017-09-22 23:29:11
  
  In [70]: dataframe_with_datetime.info()
  &lt;class 'pandas.core.frame.DataFrame'&gt;
  RangeIndex: 1 entries, 0 to 0
  Data columns (total 2 columns):
  some_other_column    1 non-null int64
  ts                   1 non-null datetime64[ns]
  dtypes: datetime64[ns](1), int64(1)
  memory usage: 96.0 bytes
  In [72]: import datetime
  In [73]: offset = datetime.timedelta(hours=5, minutes=30)
  Out[74]: datetime.timedelta(0, 19800)
  
  In [75]: delta = pd.Timedelta(offset)
  Out[76]: Timedelta('0 days 05:30:00')
  
  In [77]: dataframe_with_datetime['ts']
  0   2017-09-22 23:29:11
  Name: ts, dtype: datetime64[ns]
  </code></pre>
  
  <p>Given such pandas dataframe, I need to add/subtract the time delta from this pandas column, but I get following exception:</p>
  
  <pre><code>In [78]: dataframe_with_datetime['ts'] - delta
  ---------------------------------------------------------------------------
  TypeError                                 Traceback (most recent call last)
  &lt;ipython-input-78-6d6985a3c867&gt; in &lt;module&gt;()
  ----&gt; 1 dts['ts'] - td
  
  /usr/local/lib/python3.5/dist-packages/pandas/core/ops.py in wrapper(left, right, name, na_op)
      694         left, right = _align_method_SERIES(left, right)
      695
  --&gt; 696         converted = _Op.get_op(left, right, name, na_op)
      697
      698         left, right = converted.left, converted.right
  
  /usr/local/lib/python3.5/dist-packages/pandas/core/ops.py in get_op(cls, left, right, name, na_op)
      328             return _Op(left, right, name, na_op)
      329         else:
  --&gt; 330             return _TimeOp(left, right, name, na_op)
      331
      332
  
  /usr/local/lib/python3.5/dist-packages/pandas/core/ops.py in __init__(self, left, right, name, na_op)
      341         super(_TimeOp, self).__init__(left, right, name, na_op)
      342
  --&gt; 343         lvalues = self._convert_to_array(left, name=name)
      344         rvalues = self._convert_to_array(right, name=name, other=lvalues)
      345
  
  /usr/local/lib/python3.5/dist-packages/pandas/core/ops.py in _convert_to_array(self, values, name, other)
      452             supplied_dtype = values.dtype
      453         inferred_type = supplied_dtype or lib.infer_dtype(values)
  --&gt; 454         if (inferred_type in ('datetime64', 'datetime', 'date', 'time') or
      455                 is_datetimetz(inferred_type)):
      456             # if we have a other of timedelta, but use pd.NaT here we
  
  TypeError: data type "datetime" not understood
  </code></pre>