title: pandas shift rows NaNs
body: <p>Say we have a dataframe set up as follows:</p>
  
  <pre><code>x = pd.DataFrame(np.random.randint(1, 10, 30).reshape(5,6),
                   columns=[f'col{i}' for i in range(6)])
  x['col6'] = np.nan
  x['col7'] = np.nan
  
      col0    col1    col2    col3    col4    col5    col6    col7
   0   6       5        1       5       2       4      NaN    NaN
   1   8       8        9       6       7       2      NaN    NaN
   2   8       3        9       6       6       6      NaN    NaN
   3   8       4        4       4       8       9      NaN    NaN
   4   5       3        4       3       8       7      NaN    NaN     
  </code></pre>
  
  <p>When calling <code>x.shift(2, axis=1)</code>, <code>col2 -&gt; col5</code> shifts correctly, but <code>col6</code> and <code>col7</code> stays as <code>NaN</code>?
  How can I overwrite the <code>NaN</code> in <code>col6</code> and <code>col7</code> values with <code>col4</code> and <code>col5</code>'s values? Is this a bug or intended?</p>
  
  <pre><code>    col0    col1    col2    col3    col4    col5    col6    col7
  0   NaN      NaN    6.0     5.0     1.0      5.0    NaN     NaN
  1   NaN      NaN    8.0     8.0     9.0      6.0    NaN     NaN
  2   NaN      NaN    8.0     3.0     9.0      6.0    NaN     NaN
  3   NaN      NaN    8.0     4.0     4.0      4.0    NaN     NaN
  4   NaN      NaN    5.0     3.0     4.0      3.0    NaN     NaN
  </code></pre>