【发布时间】:2021-02-11 07:51:45
【问题描述】:
如何在数据框中找到关于另一列值条件的列的最大总和?
例如,我有一个排序的数据框(考虑使用 Python 的熊猫数据框):
数据框截图:enter image description here
import pandas as pd
df=pd.DataFrame({'Activity Name':['A','B','C','D','E','F'],
'Time':[10,25,10,10,90,80],
'Gain':[30,100,40,40,450,400],
'Gain/min':[3,4,4,4,5,5]})
“名称”列是我可以参与的活动名称。 “时间”列是相应活动消耗的时间。 “增益”栏是我完成活动后将获得的总增益。 “Gain/min”列是我可以通过活动每分钟获得的收益。
我只有 120 分钟(比方说时间的分钟)来参加这些活动,而且每个活动我只能参加一次。我不一定要填满所有的 120 分钟,但我只有在完成活动后才能获得收益。因此,如果我可以选择的最后一项活动具有相同的“每分钟收益”率,我应该参加时间更长的活动,以便在 120 分钟内获得更高的总收益(如果我在最后 5 分钟休息,那么这 5 分钟是空白和浪费,我不会在这 5 分钟内获得任何收益)
时间总和小于等于 120,我想在这 120 分钟内最大化我的收益。
谁能帮我输出这120分钟内我应该参加的活动计划吗?
首先参加哪个活动或其次参加哪个活动都没有关系。只是列出我应该参加的所有活动以最大化我的收益。
如果有多个计划可以给出最大收益并且它们的总收益相同,请将它们全部打印出来(类似于组合和排列问题)。
将其视为使用 Python 的 Pandas 数据框。
提前谢谢你!!!
【问题讨论】:
-
请发布您尝试过的代码以及遇到问题的地方:meta.stackoverflow.com/questions/334822/…
-
这不是作业问题。我只是想到这个问题,不知道怎么解决。
标签: python python-3.x pandas dataframe data-science