在Python中四舍五入到给定的数字

2024-06-17 12:16:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个模拟,在这个模拟中,人们会以很小的(月,周)增量变老。但是,我的年龄间隔不一致。有没有一种简单有效的方法可以在任何时候将我的年龄四舍五入到最近的年龄组(以便提取该年龄段的危险因素)?在

age_groups = np.array([0, .01, .1, 5, 10, 15, 20, 25, 30, 35, 40])

Tags: 方法age间隔nparray增量groups因素
3条回答

我假设你的年龄是.5,5,6,10,32,32.5,等等。这需要归入你的年龄组阵型。在

这是一个简单的句子:)

假设你有:

age_groups = np.array([0, .01, .1, 5, 10, 15, 20, 25, 30, 35, 40])
age = .5

解决方案是:

^{pr2}$

将该行放入函数中,将age_groups数组和要舍入的age传递给它:)

您可能希望使用k-mean算法将这些元素聚集起来,这里有一些答案:Python k-means algorithm

假设您想将年龄分组到age_groups定义的箱子中。 然后您可以使用np.searchsorted找到每个年龄段属于哪个年龄段:

import numpy as np

ages=np.array([0,0.05,1,3,5,10,13,19,25,35])

age_groups = np.array([0, .01, .1, 5, 10, 15, 20, 25, 30, 35, 40])

index=age_groups.searchsorted(ages,side='left')
for age,nearest_age in zip(ages,age_groups[index]):
    print('{a}  > {n}'.format(a=age,n=nearest_age))

收益率

^{pr2}$

相关问题 更多 >