【发布时间】:2017-06-11 17:24:42
【问题描述】:
shift 将我的列从整数转换为浮点数。事实证明,np.nan 只是浮动的。有什么方法可以将移位列保持为整数?
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
【问题讨论】:
-
你可以使用这个技巧:
df['b'] = df['a'].shift(1).fillna(-1).astype(df.a.dtype)