循环选择行,直到达到目标编号

时间:2019-11-04 13:31:40

标签: python-3.x

我有两个数据框,我加入其中以查看活跃的人。有些人不再活跃,我使用其中一个数据框填充另一个数据框。

mass    pnr                                         freq
1        [40666303, 68229102, 35784905, 47603805]    4
54       [17182402]                                  1
234      [07694901, 35070201, 36765601]              3

另一张表看起来相同,我只需要选择足够的人员即可达到7500-7600人的目标(40666303-这是一个人,而“ freq”是列表中的人数)。什么是“质量”,我只需要在“频率”的总和介于7500和7600之间时就停止了。现在我需要400个人,但是下个月可能需要20个人,每个月都会有所不同。 ,我的代码现在删除了非活动人员,当我将其删除时,我需要将他们替换为活动人员。在此过程的第一轮中,我使用此代码选择了最初的7500人:

target = 7500
freq_sum = sum(mass_grouped3['freq'])
new_mass_not_in_whitelist1['records_to_select'] = [math.ceil(int((el * target ) / freq_sum )) for el in new_mass_not_in_whitelist1['freq']]

但是,现在,使用此代码,我无法获得所需的总人数来填补缺少的400人。同样,最好不要仅选择第一行,而应选择其他所有条件或某些随机条件。我可以按照我的解释改变工作方式吗?

0 个答案:

没有答案