<h4 dir="auto">Code Sample</h4>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import pandas as pd
import numpy as np

print pd.isnull(['abacaba', np.nan])  # [False, False]
print pd.isnull(pd.Series(['abacaba', np.nan])).values # [False, True]"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">pandas</span> <span class="pl-k">as</span> <span class="pl-s1">pd</span>
<span class="pl-k">import</span> <span class="pl-s1">numpy</span> <span class="pl-k">as</span> <span class="pl-s1">np</span>

<span class="pl-k">print</span> <span class="pl-s1">pd</span>.<span class="pl-en">isnull</span>([<span class="pl-s">'abacaba'</span>, <span class="pl-s1">np</span>.<span class="pl-s1">nan</span>])  <span class="pl-c"># [False, False]</span>
<span class="pl-k">print</span> <span class="pl-s1">pd</span>.<span class="pl-en">isnull</span>(<span class="pl-s1">pd</span>.<span class="pl-v">Series</span>([<span class="pl-s">'abacaba'</span>, <span class="pl-s1">np</span>.<span class="pl-s1">nan</span>])).<span class="pl-s1">values</span> <span class="pl-c"># [False, True]</span></pre></div>
<h4 dir="auto">Problem description</h4>
<p dir="auto">Inconsistent behavior.<br>
The call <code class="notranslate">pd.isnull(pd.Series(['abacaba', np.nan])).values</code> returns <code class="notranslate">[False, True]</code>,<br>
but <code class="notranslate">pd.isnull(['abacaba', np.nan])</code> returns <code class="notranslate">[False, False]</code>, which is counter-intuitive.<br>
<code class="notranslate">np.nan</code> must be detected as null in both cases.</p>
<h4 dir="auto">Expected Output</h4>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[False, True]
[False, True]"><pre class="notranslate"><code class="notranslate">[False, True]
[False, True]
</code></pre></div>
<h4 dir="auto">Output of <code class="notranslate">pd.show_versions()</code></h4>
<details>
<h2 dir="auto">INSTALLED VERSIONS</h2>
<p dir="auto">commit: None<br>
python: 2.7.11.final.0<br>
python-bits: 64<br>
OS: Linux<br>
OS-release: 4.4.0-96-generic<br>
machine: x86_64<br>
processor: x86_64<br>
byteorder: little<br>
LC_ALL: None<br>
LANG: en_GB.UTF-8<br>
LOCALE: en_GB.UTF-8</p>
<p dir="auto">pandas: 0.20.3<br>
pytest: None<br>
pip: 9.0.1<br>
setuptools: 35.0.1<br>
Cython: 0.24<br>
numpy: 1.13.3<br>
scipy: 0.18.1<br>
xarray: None<br>
IPython: 4.2.0<br>
sphinx: 1.2.2<br>
patsy: 0.4.1<br>
dateutil: 2.6.1<br>
pytz: 2017.2<br>
blosc: None<br>
bottleneck: None<br>
tables: 3.2.2<br>
numexpr: 2.5<br>
feather: None<br>
matplotlib: 1.5.3<br>
openpyxl: None<br>
xlrd: None<br>
xlwt: None<br>
xlsxwriter: None<br>
lxml: None<br>
bs4: 4.5.3<br>
html5lib: 0.999<br>
sqlalchemy: None<br>
pymysql: None<br>
psycopg2: None<br>
jinja2: 2.9.6<br>
s3fs: 0.1.1<br>
pandas_gbq: None<br>
pandas_datareader: None</p>
</details>
<h4 dir="auto">Code Sample, a copy-pastable example if possible</h4>
<p dir="auto">Under 0.19.1 and latest master:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [19]: dr = pd.date_range(&quot;20161123 00:00&quot;, &quot;20161123 02:00&quot;, freq=&quot;H&quot;)                           
                                                                                                    
In [20]: tdr = pd.timedelta_range(&quot;1 minute&quot;, &quot;3 minutes&quot;, freq=&quot;T&quot;)                                
                                                                                                    
In [21]: dr + tdr                                                                                   
Out[21]:                                                                                            
DatetimeIndex(['2016-11-23 00:01:00', '2016-11-23 01:02:00',                                        
               '2016-11-23 02:03:00'],                                                              
              dtype='datetime64[ns]', freq='61T')                                                   
                                                                                                    
In [22]: dr_tz = pd.date_range(&quot;20161123 00:00&quot;, &quot;20161123 02:00&quot;, freq=&quot;H&quot;, tz=&quot;America/New_York&quot;) 
    ...:                                                                                            
                                                                                                    
In [23]: dr_tz + tdr                                                                                
---------------------------------------------------------------------------                         
TypeError                                 Traceback (most recent call last)                         
&lt;ipython-input-23-c10d4a537816&gt; in &lt;module&gt;()                                                       
----&gt; 1 dr_tz + tdr                                                                                 
                                                                                                    
C:\Anaconda\envs\bleeding\lib\site-packages\pandas\tseries\base.pyc in __add__(self, other)         
    617             from pandas.tseries.offsets import DateOffset                                   
    618             if isinstance(other, TimedeltaIndex):                                           
--&gt; 619                 return self._add_delta(other)                                               
    620             elif isinstance(self, TimedeltaIndex) and isinstance(other, Index):             
    621                 if hasattr(other, '_add_delta'):                                            
                                                                                                    
C:\Anaconda\envs\bleeding\lib\site-packages\pandas\tseries\index.pyc in _add_delta(self, delta)     
    787             new_values = self._add_delta_td(delta)                                          
    788         elif isinstance(delta, TimedeltaIndex):                                             
--&gt; 789             new_values = self._add_delta_tdi(delta)                                         
    790             # update name when delta is Index                                               
    791             name = com._maybe_match_name(self, delta)                                       
                                                                                                    
C:\Anaconda\envs\bleeding\lib\site-packages\pandas\tseries\base.pyc in _add_delta_tdi(self, other)  
    704             mask = (self._isnan) | (other._isnan)                                           
    705             new_values[mask] = tslib.iNaT                                                   
--&gt; 706         return new_values.view(self.dtype)                                                  
    707                                                                                             
    708     def isin(self, values):                                                                 
                                                                                                    
TypeError: data type not understood                             
"><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">19</span>]: <span class="pl-s1">dr</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">date_range</span>(<span class="pl-s">"20161123 00:00"</span>, <span class="pl-s">"20161123 02:00"</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">"H"</span>)                           
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">20</span>]: <span class="pl-s1">tdr</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">timedelta_range</span>(<span class="pl-s">"1 minute"</span>, <span class="pl-s">"3 minutes"</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">"T"</span>)                                
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">21</span>]: <span class="pl-s1">dr</span> <span class="pl-c1">+</span> <span class="pl-s1">tdr</span>                                                                                   
<span class="pl-v">Out</span>[<span class="pl-c1">21</span>]:                                                                                            
<span class="pl-v">DatetimeIndex</span>([<span class="pl-s">'2016-11-23 00:01:00'</span>, <span class="pl-s">'2016-11-23 01:02:00'</span>,                                        
               <span class="pl-s">'2016-11-23 02:03:00'</span>],                                                              
              <span class="pl-s1">dtype</span><span class="pl-c1">=</span><span class="pl-s">'datetime64[ns]'</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">'61T'</span>)                                                   
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">22</span>]: <span class="pl-s1">dr_tz</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">date_range</span>(<span class="pl-s">"20161123 00:00"</span>, <span class="pl-s">"20161123 02:00"</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">"H"</span>, <span class="pl-s1">tz</span><span class="pl-c1">=</span><span class="pl-s">"America/New_York"</span>) 
    ...:                                                                                            
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">23</span>]: <span class="pl-s1">dr_tz</span> <span class="pl-c1">+</span> <span class="pl-s1">tdr</span>                                                                                
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span>                         
<span class="pl-v">TypeError</span>                                 <span class="pl-v">Traceback</span> (<span class="pl-s1">most</span> <span class="pl-s1">recent</span> <span class="pl-s1">call</span> <span class="pl-s1">last</span>)                         
<span class="pl-c1">&lt;</span><span class="pl-s1">ipython</span><span class="pl-c1">-</span><span class="pl-s1">input</span><span class="pl-c1">-</span><span class="pl-c1">23</span><span class="pl-c1">-</span><span class="pl-s1">c10d4a537816</span><span class="pl-c1">&gt;</span> <span class="pl-s1">in</span> <span class="pl-c1">&lt;</span><span class="pl-s1">module</span><span class="pl-c1">&gt;</span>()                                                       
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">1</span> <span class="pl-s1">dr_tz</span> <span class="pl-c1">+</span> <span class="pl-s1">tdr</span>                                                                                 
                                                                                                    
<span class="pl-v">C</span>:\A<span class="pl-s1">naconda</span>\e<span class="pl-s1">nvs</span>\b<span class="pl-s1">leeding</span>\l<span class="pl-s1">ib</span>\s<span class="pl-s1">ite</span><span class="pl-c1">-</span><span class="pl-s1">packages</span>\p<span class="pl-s1">andas</span>\t<span class="pl-s1">series</span>\b<span class="pl-s1">ase</span>.<span class="pl-s1">pyc</span> <span class="pl-c1">in</span> <span class="pl-en">__add__</span>(<span class="pl-s1">self</span>, <span class="pl-s1">other</span>)         
    <span class="pl-c1">617</span>             <span class="pl-k">from</span> <span class="pl-s1">pandas</span>.<span class="pl-s1">tseries</span>.<span class="pl-s1">offsets</span> <span class="pl-k">import</span> <span class="pl-v">DateOffset</span>                                   
    <span class="pl-c1">618</span>             <span class="pl-k">if</span> <span class="pl-en">isinstance</span>(<span class="pl-s1">other</span>, <span class="pl-v">TimedeltaIndex</span>):                                           
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">619</span>                 <span class="pl-s1">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_add_delta</span>(<span class="pl-s1">other</span>)                                               
    <span class="pl-c1">620</span>             <span class="pl-s1">elif</span> <span class="pl-en">isinstance</span>(<span class="pl-s1">self</span>, <span class="pl-v">TimedeltaIndex</span>) <span class="pl-c1">and</span> <span class="pl-en">isinstance</span>(<span class="pl-s1">other</span>, <span class="pl-v">Index</span>):             
    <span class="pl-c1">621</span>                 <span class="pl-k">if</span> <span class="pl-en">hasattr</span>(<span class="pl-s1">other</span>, <span class="pl-s">'_add_delta'</span>):                                            
                                                                                                    
<span class="pl-v">C</span>:\A<span class="pl-s1">naconda</span>\e<span class="pl-s1">nvs</span>\b<span class="pl-s1">leeding</span>\l<span class="pl-s1">ib</span>\s<span class="pl-s1">ite</span><span class="pl-c1">-</span><span class="pl-s1">packages</span>\p<span class="pl-s1">andas</span>\t<span class="pl-s1">series</span>\i<span class="pl-s1">ndex</span>.<span class="pl-s1">pyc</span> <span class="pl-c1">in</span> <span class="pl-en">_add_delta</span>(<span class="pl-s1">self</span>, <span class="pl-s1">delta</span>)     
    <span class="pl-c1">787</span>             <span class="pl-s1">new_values</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-en">_add_delta_td</span>(<span class="pl-s1">delta</span>)                                          
    <span class="pl-c1">788</span>         <span class="pl-k">elif</span> <span class="pl-en">isinstance</span>(<span class="pl-s1">delta</span>, <span class="pl-v">TimedeltaIndex</span>):                                             
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">789</span>             <span class="pl-s1">new_values</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-en">_add_delta_tdi</span>(<span class="pl-s1">delta</span>)                                         
    <span class="pl-c1">790</span>             <span class="pl-c"># update name when delta is Index                                               </span>
    <span class="pl-c1">791</span>             <span class="pl-s1">name</span> <span class="pl-c1">=</span> <span class="pl-s1">com</span>.<span class="pl-en">_maybe_match_name</span>(<span class="pl-s1">self</span>, <span class="pl-s1">delta</span>)                                       
                                                                                                    
<span class="pl-v">C</span>:\A<span class="pl-s1">naconda</span>\e<span class="pl-s1">nvs</span>\b<span class="pl-s1">leeding</span>\l<span class="pl-s1">ib</span>\s<span class="pl-s1">ite</span><span class="pl-c1">-</span><span class="pl-s1">packages</span>\p<span class="pl-s1">andas</span>\t<span class="pl-s1">series</span>\b<span class="pl-s1">ase</span>.<span class="pl-s1">pyc</span> <span class="pl-c1">in</span> <span class="pl-en">_add_delta_tdi</span>(<span class="pl-s1">self</span>, <span class="pl-s1">other</span>)  
    <span class="pl-c1">704</span>             <span class="pl-s1">mask</span> <span class="pl-c1">=</span> (<span class="pl-s1">self</span>.<span class="pl-s1">_isnan</span>) <span class="pl-c1">|</span> (<span class="pl-s1">other</span>.<span class="pl-s1">_isnan</span>)                                           
    <span class="pl-c1">705</span>             <span class="pl-s1">new_values</span>[<span class="pl-s1">mask</span>] <span class="pl-c1">=</span> <span class="pl-s1">tslib</span>.<span class="pl-s1">iNaT</span>                                                   
<span class="pl-c1">-</span><span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">706</span>         <span class="pl-s1">return</span> <span class="pl-s1">new_values</span>.<span class="pl-en">view</span>(<span class="pl-s1">self</span>.<span class="pl-s1">dtype</span>)                                                  
    <span class="pl-c1">707</span>                                                                                             
    <span class="pl-c1">708</span>     <span class="pl-s1">def</span> <span class="pl-en">isin</span>(<span class="pl-s1">self</span>, <span class="pl-s1">values</span>):                                                                 
                                                                                                    
<span class="pl-v">TypeError</span>: <span class="pl-s1">data</span> <span class="pl-s1">type</span> <span class="pl-c1">not</span> <span class="pl-s1">understood</span>                             </pre></div>
<h4 dir="auto">Problem description</h4>
<p dir="auto">Given a DatetimeIndex that is not tz-aware, adding a TimedeltaIndex of the same length adds the values elementwise, as one would expect. Given a tz-aware DatetimeIndex, however, adding a TimedeltaIndex results in TypeError. Performing the same operation by iterating over the tz-aware index and adding the values directly works in the expected manner. This behavior did not occur under pandas 0.16.2; however, the above behavior occurs under at least 0.19.1 and the latest master.</p>
<h4 dir="auto">Expected Output</h4>
<p dir="auto">Equivalent to the elementwise operation below, which works on latest master:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [25]: pd.Index([dr_tz[i] + tdr[i] for i in xrange(len(dr_tz))])                                  
Out[25]:                                                                                            
DatetimeIndex(['2016-11-23 00:01:00-05:00', '2016-11-23 01:02:00-05:00',                            
               '2016-11-23 02:03:00-05:00'],                                                        
              dtype='datetime64[ns, America/New_York]', freq=None)                                  "><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">25</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">Index</span>([<span class="pl-s1">dr_tz</span>[<span class="pl-s1">i</span>] <span class="pl-c1">+</span> <span class="pl-s1">tdr</span>[<span class="pl-s1">i</span>] <span class="pl-k">for</span> <span class="pl-s1">i</span> <span class="pl-c1">in</span> <span class="pl-en">xrange</span>(<span class="pl-en">len</span>(<span class="pl-s1">dr_tz</span>))])                                  
<span class="pl-v">Out</span>[<span class="pl-c1">25</span>]:                                                                                            
<span class="pl-v">DatetimeIndex</span>([<span class="pl-s">'2016-11-23 00:01:00-05:00'</span>, <span class="pl-s">'2016-11-23 01:02:00-05:00'</span>,                            
               <span class="pl-s">'2016-11-23 02:03:00-05:00'</span>],                                                        
              <span class="pl-s1">dtype</span><span class="pl-c1">=</span><span class="pl-s">'datetime64[ns, America/New_York]'</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-c1">None</span>)                                  </pre></div>
<p dir="auto">This also worked under 0.16.2:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [14]: dr_tz = pd.date_range(&quot;20161123 00:00&quot;, &quot;20161123 02:00&quot;, freq=&quot;H&quot;, tz=&quot;America/New_York&quot;) 
                                                                                                    
In [15]: tdr = pd.timedelta_range(&quot;1 minute&quot;, &quot;3 minutes&quot;, freq=&quot;T&quot;)                                
                                                                                                    
In [16]: dr_tz + tdr                                                                                
Out[16]:                                                                                            
DatetimeIndex(['2016-11-23 00:01:00-05:00', '2016-11-23 01:02:00-05:00',                            
               '2016-11-23 02:03:00-05:00'],                                                        
              dtype='datetime64[ns]', freq='61T', tz='America/New_York')     "><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">14</span>]: <span class="pl-s1">dr_tz</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">date_range</span>(<span class="pl-s">"20161123 00:00"</span>, <span class="pl-s">"20161123 02:00"</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">"H"</span>, <span class="pl-s1">tz</span><span class="pl-c1">=</span><span class="pl-s">"America/New_York"</span>) 
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">15</span>]: <span class="pl-s1">tdr</span> <span class="pl-c1">=</span> <span class="pl-s1">pd</span>.<span class="pl-en">timedelta_range</span>(<span class="pl-s">"1 minute"</span>, <span class="pl-s">"3 minutes"</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">"T"</span>)                                
                                                                                                    
<span class="pl-v">In</span> [<span class="pl-c1">16</span>]: <span class="pl-s1">dr_tz</span> <span class="pl-c1">+</span> <span class="pl-s1">tdr</span>                                                                                
<span class="pl-v">Out</span>[<span class="pl-c1">16</span>]:                                                                                            
<span class="pl-v">DatetimeIndex</span>([<span class="pl-s">'2016-11-23 00:01:00-05:00'</span>, <span class="pl-s">'2016-11-23 01:02:00-05:00'</span>,                            
               <span class="pl-s">'2016-11-23 02:03:00-05:00'</span>],                                                        
              <span class="pl-s1">dtype</span><span class="pl-c1">=</span><span class="pl-s">'datetime64[ns]'</span>, <span class="pl-s1">freq</span><span class="pl-c1">=</span><span class="pl-s">'61T'</span>, <span class="pl-s1">tz</span><span class="pl-c1">=</span><span class="pl-s">'America/New_York'</span>)     </pre></div>
<h4 dir="auto">Output of <code class="notranslate">pd.show_versions()</code></h4>
<details>
In [26]: pd.show_versions()                                                                         
<h2 dir="auto">INSTALLED VERSIONS</h2>
<p dir="auto">commit: None<br>
python: 2.7.12.final.0<br>
python-bits: 64<br>
OS: Windows<br>
OS-release: 7<br>
machine: AMD64<br>
processor: Intel64 Family 6 Model 62 Stepping 4, GenuineIntel<br>
byteorder: little<br>
LC_ALL: None<br>
LANG: None<br>
LOCALE: None.None</p>
<p dir="auto">pandas: 0.19.0+98.gc045e1d<br>
nose: 1.3.7<br>
pip: 9.0.1<br>
setuptools: 27.2.0<br>
Cython: 0.24.1<br>
numpy: 1.11.2<br>
scipy: 0.18.1<br>
statsmodels: None<br>
xarray: None<br>
IPython: 5.1.0<br>
sphinx: 1.4.8<br>
patsy: None<br>
dateutil: 2.5.3<br>
pytz: 2016.7<br>
blosc: None<br>
bottleneck: None<br>
tables: 3.2.2<br>
numexpr: 2.6.1<br>
matplotlib: 1.5.3<br>
openpyxl: 2.4.0<br>
xlrd: 1.0.0<br>
xlwt: 1.1.2<br>
xlsxwriter: None<br>
lxml: 3.6.4<br>
bs4: None<br>
html5lib: None<br>
httplib2: None<br>
apiclient: None<br>
sqlalchemy: 1.0.13<br>
pymysql: None<br>
psycopg2: None<br>
jinja2: 2.8<br>
boto: None<br>
pandas_datareader: None</p>
</details>