pandas shift converts my column from integer to float. : <p><code>shift</code> converts my column from integer to float. It turns out that <code>np.nan</code> is float only. Is there any ways to keep shifted column as integer?</p>

<pre><code>df = pd.DataFrame({"a":range(5)})
df['b'] = df['a'].shift(1)

df['a']
# 0    0
# 1    1
# 2    2
# 3    3
# 4    4
# Name: a, dtype: int64

df['b']

# 0   NaN
# 1     0
# 2     1
# 3     2
# 4     3
# Name: b, dtype: float64
</code></pre>
