gpt4 book ai didi

python - 如何在 Python 的特定范围内替换数据框中的数字?

转载 作者:行者123 更新时间:2023-12-01 15:00:06 24 4
gpt4 key购买 nike

我有一个数据集,它有一个名为“EntrySec”的变量,如果它落在某个范围内,我想替换这些值。

Entrysec
1
21
32
9
43
66

期望:将所有值替换为

10如果在1-10之间
20如果在11-20之间
30如果在21-30之间,以此类推

最佳答案

这是一个非常简单的解决方案,适用于任何数字(数字在哪个范围内并不重要)。它将 Pandas DataFrame 列的值四舍五入到下一个:

df["Entrysec"] = df["Entrysec"]//10*10+10

它是如何工作的?

  1. 执行除以 10 的整数除法(它基本上切断了正常除法的小数部分)。通过这种方式,您可以获得数字的十位。例如:

    • 43/10=4.3(正常划分)
    • 43//10=4(整数除法)
  2. 乘以 10,得到没有 ones 的原始数字。例如:4*10=40。

  3. 加 10 以获得所需的结果。例如,40+10=50。

编辑

虽然我的解决方案将值四舍五入到下一个 ,但用户想要四舍五入,例如20 到 20(而不是 30)。这可以通过稍微修改我的方法来实现:

df["Entrysec"] = (df["Entrysec"]-1)//10*10+10

通过这种方式可以获得所需的输出。以下是一些极端情况:

  • 9 四舍五入为 10
  • 10 四舍五入为 10
  • 11 四舍五入为 20

请注意,使用这种方法,0 会四舍五入为 0,正如隐式要求的那样。

关于python - 如何在 Python 的特定范围内替换数据框中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59509675/

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