python int转float_python – Pandas Shift将Ints转换为Float和Rounds

当移动整数列时,我知道当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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值