gpt4 book ai didi

python - Pandas 对列进行四舍五入以获得精确值

转载 作者:行者123 更新时间:2023-12-02 09:57:47 27 4
gpt4 key购买 nike

我的输入数据框;

     A          B       C 
0 0 1 1.3
1 1.2 2 2.25
2 1.5 3 4.42
3 2.7 4 5.12
4 3.9 5 6.24
5 4.55 6 7.25

我想根据数据帧中的阈值对 C 列进行舍入。但我无法得到想要的结果。

代码是;

threshold=0.25
df['C']=round(df['C'] - threshold+0.5)

输出是;

     A          B       C 
0 0 1 2
1 1.2 2 2
2 1.5 3 5
3 2.7 4 5
4 3.9 5 6
5 4.55 6 7

期望的输出是;

     A          B       C 
0 0 1 2
1 1.2 2 3
2 1.5 3 5
3 2.7 4 5
4 3.9 5 6
5 4.55 6 8

我在 0.25 值方面遇到了麻烦。我也想四舍五入这个值。 ypu 可以帮我解决这个问题吗?

最佳答案

您可以使用 numpy.floor 并添加 bool 值( 1 如果 mod(1)>= threshold0 如果是 < ):

threshold = 0.25
df['C'] = np.floor(df['C']) + df['C'].mod(1).ge(threshold)

[输出]

      A  B    C
0 0.00 1 2.0
1 1.20 2 3.0
2 1.50 3 5.0
3 2.70 4 5.0
4 3.90 5 6.0
5 4.55 6 8.0

关于python - Pandas 对列进行四舍五入以获得精确值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58706159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com