在不超过总价值 500000 的情况下找到最大奖学金数量

Posted

技术标签:

【中文标题】在不超过总价值 500000 的情况下找到最大奖学金数量【英文标题】:Find maximum number of scholarships without exceeding total value of 500000 【发布时间】:2019-02-08 01:41:27 【问题描述】:

我有一个.csv 格式的文件:

ID        scholarship amount       applicant  experience
1          45000                           8
2          65000                           10
3          38000                           11
4          62000                           12
5          45000                           9
6          58000                           11
7          28000                           12
8          78000                           12
9          52500                           7
10         45000                           10

问题是编写一个代码,找出在不超过总价值500000 的情况下可以提供的最大奖学金数量。只考虑具有10 或更多年经验的申请人。 我已经尝试过df[df['applicant experience'] >=10],但我仍然获得了总奖学金金额高于500000 的记录。 请帮忙

【问题讨论】:

欢迎来到 SO,我想如果你放上你的代码,人们会清楚地明白你做了什么,你的问题在哪里。 你在正确的轨道上。下一步是对该子集的奖学金价值进行排序,这样您就知道哪些是最便宜的,然后计算累计金额,看看您为 X 个最便宜的奖学金支付的费用。 【参考方案1】:
df[(df.scholarship amount <=500000)&(df.applicant experience >=10)] 

试试这个代码 最好更改列名给出不带空格的列名 scholarship_amout ,applicant_experience 而不是 scholarship_amout,applicant_experience

【讨论】:

好的,但不是奖学金金额必须少于500000而是奖学金总额不能超过 请正确描述我无法正确理解的问题

以上是关于在不超过总价值 500000 的情况下找到最大奖学金数量的主要内容,如果未能解决你的问题,请参考以下文章

背包复习

如何找到我可以在不分段的情况下发送的最大 UDP 数据包?

如何在不使用 max() 或对其进行迭代的情况下找到堆栈中的最大整数值?

如何在不超过最大文档大小的情况下编写聚合?

动态规划——01背包

动态规划——01背包