为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Pandas 将给定数字四舍五入到最接近的指定倍数?

如何使用 Pandas 将给定数字四舍五入到最接近的指定倍数?

PHP
不负相思意 2023-11-09 21:10:55
我想知道是否存在内置 Pandas 模块来将给定数字四舍五入到最接近的指定倍数。在 Excel 中,这可以使用 来实现Ceiling function。假设给定 df -0.4, 0.5,1.5,然后将其舍入为 1 的倍数将得到0,1,and 2。虽然我在网上梳理了这个话题,但我没有看到任何关于它的参考资料。请告诉我这是否重复。其他人可能会建议类似这里的东西,但它不是内置的 Pandas
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

也许是这个?


> import math as m

> [m.ceil(n) for n in [-0.4, 0.5, 1.5]]

[0, 1, 2]

带数据框


> import pandas as pd

> df = pd.DataFrame([-0.4, 0.5, 1.5], columns=['numbers'])

> df.apply(m.ceil, axis=1)

0    0

1    1

2    2

dtype: int64

然后没有apply


> import numpy as np

> np.ceil(df['numbers'])

0   -0.0

1    1.0

2    2.0

Name: numbers, dtype: float64

其实,仅通过运算也可以得到类似的结果。


> df // 1 + 1

    numbers

0   0.0

1   1.0

2   2.0


查看完整回答
反对 回复 2023-11-09
?
aluckdog

TA贡献1847条经验 获得超7个赞

不是专门针对 pandas 的,而是针对 numpy 的,尽管我认为这是您正在寻找的行为。



查看完整回答
反对 回复 2023-11-09
  • 2 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信