当移动整数列时,我知道当Pandas因为存在NaN而自动将整数转换为浮点数时如何修复我的列.
I basically use the method described here.
但是,如果移位引入NaN从而将所有整数转换为浮点数,则会发生一些舍入(例如,在纪元时间戳上),因此即使将其重新转换为整数也不会复制它原来的内容.
有任何解决这个问题的方法吗?
示例数据:
pd.DataFrame({'epochee':[1495571400259317500,1495571400260585120,1495571400260757200, 1495571400260866800]})
Out[19]:
epoch
0 1495571790919317503
1 1495999999999999999
2 1495571400265555555
3 1495571400267777777
示例代码:
df['prior_epochee'] = df['epochee'].shift(1)
df.dropna(axis=0, how='any', inplace=True)
df['prior_epochee'] = df['prior_epochee'].astype(int)
结果输出:
Out[22]:
epoch prior_epoch
1 1444444444444444444 1400000000000000000
2 1433333333333333333 1490000000000000000
3 1777777777777777777 1499999999999999948