我在此数据框中有一组项目:
Items Calories
Beer 320
Hotdog 200
Popcorn 100
Coca-Cola 75
我需要计算清单中可以达到400
卡路里的最少物品数量。有什么建议吗?
我已经计算出了卡路里的总价值,然后就卡在那里了。
row_total = df_calories['Calories'].sum()
答案 0 :(得分:0)
如果您不能多次选择单个项目。
df = df.sort_values(by=['Calories'], ascending=False).reset_index()
输出
index Items Calories
0 0 Beer 320
1 1 Hotdog 200
2 4 Sweet 160
3 2 Popcorn 100
idx = df[(df['Calories'].cumsum() > 400) == True].index[0]
df[0:idx+1]['Items'].tolist()
输出
['Beer', 'Hotdog']
希望这会有所帮助!