<h4 dir="auto">Code Sample, a copy-pastable example if possible</h4>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [2]: pd.Series(index=range(10))[{1:2,3:4}]
Out[2]: 
1   NaN
3   NaN
dtype: float64

In [3]: pd.Series(index=range(10))[{1:2,3:4}.keys()]
Out[3]: 
1   NaN
3   NaN
dtype: float64

In [4]: pd.DataFrame(index=range(10), columns=range(10))[{1:2,3:4}]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
&lt;ipython-input-4-5b29d5d42cf2&gt; in &lt;module&gt;()
----&gt; 1 pd.DataFrame(index=range(10), columns=range(10))[{1:2,3:4}]

~/nobackup/repo/pandas/pandas/core/frame.py in __getitem__(self, key)
   2683             return self._getitem_multilevel(key)
   2684         else:
-&gt; 2685             return self._getitem_column(key)
   2686 
   2687     def _getitem_column(self, key):

~/nobackup/repo/pandas/pandas/core/frame.py in _getitem_column(self, key)
   2690         # get column
   2691         if self.columns.is_unique:
-&gt; 2692             return self._get_item_cache(key)
   2693 
   2694         # duplicate columns &amp; possible reduce dimensionality

~/nobackup/repo/pandas/pandas/core/generic.py in _get_item_cache(self, item)
   2482         &quot;&quot;&quot;Return the cached item, item represents a label indexer.&quot;&quot;&quot;
   2483         cache = self._item_cache
-&gt; 2484         res = cache.get(item)
   2485         if res is None:
   2486             values = self._data.get(item)

TypeError: unhashable type: 'dict'

In [5]: pd.DataFrame(index=range(10), columns=range(10))[{1:2,3:4}.keys()]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
&lt;ipython-input-5-030f516d9637&gt; in &lt;module&gt;()
----&gt; 1 pd.DataFrame(index=range(10), columns=range(10))[{1:2,3:4}.keys()]

~/nobackup/repo/pandas/pandas/core/frame.py in __getitem__(self, key)
   2683             return self._getitem_multilevel(key)
   2684         else:
-&gt; 2685             return self._getitem_column(key)
   2686 
   2687     def _getitem_column(self, key):

~/nobackup/repo/pandas/pandas/core/frame.py in _getitem_column(self, key)
   2690         # get column
   2691         if self.columns.is_unique:
-&gt; 2692             return self._get_item_cache(key)
   2693 
   2694         # duplicate columns &amp; possible reduce dimensionality

~/nobackup/repo/pandas/pandas/core/generic.py in _get_item_cache(self, item)
   2482         &quot;&quot;&quot;Return the cached item, item represents a label indexer.&quot;&quot;&quot;
   2483         cache = self._item_cache
-&gt; 2484         res = cache.get(item)
   2485         if res is None:
   2486             values = self._data.get(item)

TypeError: unhashable type: 'dict_keys'"><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">2</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">Series</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>}]
<span class="pl-v">Out</span>[<span class="pl-c1">2</span>]: 
<span class="pl-c1">1</span>   <span class="pl-v">NaN</span>
<span class="pl-c1">3</span>   <span class="pl-v">NaN</span>
<span class="pl-s1">dtype</span>: <span class="pl-s1">float64</span>

<span class="pl-v">In</span> [<span class="pl-c1">3</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">Series</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>}.<span class="pl-en">keys</span>()]
<span class="pl-v">Out</span>[<span class="pl-c1">3</span>]: 
<span class="pl-c1">1</span>   <span class="pl-v">NaN</span>
<span class="pl-c1">3</span>   <span class="pl-v">NaN</span>
<span class="pl-s1">dtype</span>: <span class="pl-s1">float64</span>

<span class="pl-v">In</span> [<span class="pl-c1">4</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>), <span class="pl-s1">columns</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</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">4</span><span class="pl-c1">-</span><span class="pl-c1">5</span><span class="pl-s1">b29d5d42cf2</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">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>), <span class="pl-s1">columns</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>}]

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">frame</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">__getitem__</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>)
   <span class="pl-c1">2683</span>             <span class="pl-k">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_getitem_multilevel</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2684</span>         <span class="pl-s1">else</span>:
<span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">2685</span>             <span class="pl-s1">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_getitem_column</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2686</span> 
   <span class="pl-c1">2687</span>     <span class="pl-k">def</span> <span class="pl-en">_getitem_column</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>):

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">frame</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">_getitem_column</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>)
   <span class="pl-c1">2690</span>         <span class="pl-c"># get column</span>
   <span class="pl-c1">2691</span>         <span class="pl-k">if</span> <span class="pl-s1">self</span>.<span class="pl-s1">columns</span>.<span class="pl-s1">is_unique</span>:
<span class="pl-c1">-&gt;</span> <span class="pl-c1">2692</span>             <span class="pl-k">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_get_item_cache</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2693</span> 
   <span class="pl-c1">2694</span>         <span class="pl-c"># duplicate columns &amp; possible reduce dimensionality</span>

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">generic</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">_get_item_cache</span>(<span class="pl-s1">self</span>, <span class="pl-s1">item</span>)
   <span class="pl-c1">2482</span>         <span class="pl-s">"""Return the cached item, item represents a label indexer."""</span>
   <span class="pl-c1">2483</span>         <span class="pl-s1">cache</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-s1">_item_cache</span>
<span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">2484</span>         <span class="pl-s1">res</span> <span class="pl-c1">=</span> <span class="pl-s1">cache</span>.<span class="pl-en">get</span>(<span class="pl-s1">item</span>)
   <span class="pl-c1">2485</span>         <span class="pl-k">if</span> <span class="pl-s1">res</span> <span class="pl-c1">is</span> <span class="pl-c1">None</span>:
   <span class="pl-c1">2486</span>             <span class="pl-s1">values</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-s1">_data</span>.<span class="pl-en">get</span>(<span class="pl-s1">item</span>)

<span class="pl-v">TypeError</span>: <span class="pl-s1">unhashable</span> <span class="pl-s1">type</span>: <span class="pl-s">'dict'</span>

<span class="pl-v">In</span> [<span class="pl-c1">5</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>), <span class="pl-s1">columns</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>}.<span class="pl-en">keys</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">5</span><span class="pl-c1">-</span><span class="pl-c1">030</span><span class="pl-s1">f516d9637</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">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>), <span class="pl-s1">columns</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[{<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>}.<span class="pl-en">keys</span>()]

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">frame</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">__getitem__</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>)
   <span class="pl-c1">2683</span>             <span class="pl-s1">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_getitem_multilevel</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2684</span>         <span class="pl-k">else</span>:
<span class="pl-c1">-&gt;</span> <span class="pl-c1">2685</span>             <span class="pl-s1">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_getitem_column</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2686</span> 
   <span class="pl-c1">2687</span>     <span class="pl-k">def</span> <span class="pl-en">_getitem_column</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>):

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">frame</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">_getitem_column</span>(<span class="pl-s1">self</span>, <span class="pl-s1">key</span>)
   <span class="pl-c1">2690</span>         <span class="pl-c"># get column</span>
   <span class="pl-c1">2691</span>         <span class="pl-k">if</span> <span class="pl-s1">self</span>.<span class="pl-s1">columns</span>.<span class="pl-s1">is_unique</span>:
<span class="pl-c1">-&gt;</span> <span class="pl-c1">2692</span>             <span class="pl-k">return</span> <span class="pl-s1">self</span>.<span class="pl-en">_get_item_cache</span>(<span class="pl-s1">key</span>)
   <span class="pl-c1">2693</span> 
   <span class="pl-c1">2694</span>         <span class="pl-c"># duplicate columns &amp; possible reduce dimensionality</span>

<span class="pl-c1">~</span><span class="pl-c1">/</span><span class="pl-s1">nobackup</span><span class="pl-c1">/</span><span class="pl-s1">repo</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">pandas</span><span class="pl-c1">/</span><span class="pl-s1">core</span><span class="pl-c1">/</span><span class="pl-s1">generic</span>.<span class="pl-s1">py</span> <span class="pl-c1">in</span> <span class="pl-en">_get_item_cache</span>(<span class="pl-s1">self</span>, <span class="pl-s1">item</span>)
   <span class="pl-c1">2482</span>         <span class="pl-s">"""Return the cached item, item represents a label indexer."""</span>
   <span class="pl-c1">2483</span>         <span class="pl-s1">cache</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-s1">_item_cache</span>
<span class="pl-c1">-</span><span class="pl-c1">&gt;</span> <span class="pl-c1">2484</span>         <span class="pl-s1">res</span> <span class="pl-c1">=</span> <span class="pl-s1">cache</span>.<span class="pl-en">get</span>(<span class="pl-s1">item</span>)
   <span class="pl-c1">2485</span>         <span class="pl-k">if</span> <span class="pl-s1">res</span> <span class="pl-c1">is</span> <span class="pl-c1">None</span>:
   <span class="pl-c1">2486</span>             <span class="pl-s1">values</span> <span class="pl-c1">=</span> <span class="pl-s1">self</span>.<span class="pl-s1">_data</span>.<span class="pl-en">get</span>(<span class="pl-s1">item</span>)

<span class="pl-v">TypeError</span>: <span class="pl-s1">unhashable</span> <span class="pl-s1">type</span>: <span class="pl-s">'dict_keys'</span></pre></div>
<h4 dir="auto">Problem description</h4>
<p dir="auto">I know that <code class="notranslate">DataFrame.__getitem__</code> is a mess ( <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="59948062" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/9595" data-hovercard-type="issue" data-hovercard-url="/pandas-dev/pandas/issues/9595/hovercard" href="https://github.com/pandas-dev/pandas/issues/9595">#9595</a> ), but I don't see why dicts and dict keys shouldn't be just considered list-likes as it happens with <code class="notranslate">Series</code>.</p>
<h4 dir="auto">Expected Output</h4>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="In [6]: pd.DataFrame(index=range(10), columns=range(10))[list({1:2,3:4})]
Out[6]: 
     1    3
0  NaN  NaN
1  NaN  NaN
2  NaN  NaN
3  NaN  NaN
4  NaN  NaN
5  NaN  NaN
6  NaN  NaN
7  NaN  NaN
8  NaN  NaN
9  NaN  NaN"><pre class="notranslate"><span class="pl-v">In</span> [<span class="pl-c1">6</span>]: <span class="pl-s1">pd</span>.<span class="pl-v">DataFrame</span>(<span class="pl-s1">index</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>), <span class="pl-s1">columns</span><span class="pl-c1">=</span><span class="pl-en">range</span>(<span class="pl-c1">10</span>))[<span class="pl-en">list</span>({<span class="pl-c1">1</span>:<span class="pl-c1">2</span>,<span class="pl-c1">3</span>:<span class="pl-c1">4</span>})]
<span class="pl-v">Out</span>[<span class="pl-c1">6</span>]: 
     <span class="pl-c1">1</span>    <span class="pl-c1">3</span>
<span class="pl-c1">0</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">1</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">2</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">3</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">4</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">5</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">6</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">7</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">8</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span>
<span class="pl-c1">9</span>  <span class="pl-v">NaN</span>  <span class="pl-v">NaN</span></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: 3.5.3.final.0<br>
python-bits: 64<br>
OS: Linux<br>
OS-release: 4.9.0-6-amd64<br>
machine: x86_64<br>
processor:<br>
byteorder: little<br>
LC_ALL: None<br>
LANG: it_IT.UTF-8<br>
LOCALE: it_IT.UTF-8</p>
<p dir="auto">pandas: 0.24.0.dev0+25.gcd0447102<br>
pytest: 3.5.0<br>
pip: 9.0.1<br>
setuptools: 39.2.0<br>
Cython: 0.25.2<br>
numpy: 1.14.3<br>
scipy: 0.19.0<br>
pyarrow: None<br>
xarray: None<br>
IPython: 6.2.1<br>
sphinx: 1.5.6<br>
patsy: 0.5.0<br>
dateutil: 2.7.3<br>
pytz: 2018.4<br>
blosc: None<br>
bottleneck: 1.2.0dev<br>
tables: 3.3.0<br>
numexpr: 2.6.1<br>
feather: 0.3.1<br>
matplotlib: 2.2.2.post1153+gff6786446<br>
openpyxl: 2.3.0<br>
xlrd: 1.0.0<br>
xlwt: 1.3.0<br>
xlsxwriter: 0.9.6<br>
lxml: 4.1.1<br>
bs4: 4.5.3<br>
html5lib: 0.999999999<br>
sqlalchemy: 1.0.15<br>
pymysql: None<br>
psycopg2: None<br>
jinja2: 2.10<br>
s3fs: None<br>
fastparquet: None<br>
pandas_gbq: None<br>
pandas_datareader: 0.2.1</p>
</details>
<p dir="auto">Should use a more intelligent algorithm than using <code class="notranslate">np.random.permutation</code></p>