gpt4 book ai didi

python - Pandas 累积/元素方式

转载 作者:太空宇宙 更新时间:2023-11-03 17:46:13 27 4
gpt4 key购买 nike

我试图弄清楚是否有一种简单的方法可以解决 pandas 的以下问题。假设我有四个容器,A、B、C、D,每个容器都有特定的体积。假设我现在得到了一定量的液体,我想用它来填充这些容器。我怎样才能想出一个“系列”来显示每个容器填充的数量。本质上,我希望液体先填充容器 A,然后填充容器 B,依此类推,直到没有液体剩下。并非所有容器都必须装满,并且液体永远不会比容器多。问题是这样的:

Container  Volume (L)  FILLED                            
A 6 0
B 7 0
C 8 0
D 9 0


Case A:

Liquid = 10L

Result:
Container Volume (L) FILLED
A 6 6
B 7 4
C 8 0
D 9 0

Case B:
Liquid = 20L
Result:
Container Volume (L) FILLED
A 6 6
B 7 7
C 8 7
D 9 0

我已经玩过pandas.cumsum()和pandas.clip_upper(),但我需要几个步骤才能到达我需要的地方,并且希望有一种巧妙的方法来做到这一点。就像我可以为案例 B 做的那样:

filled_a = df["Volume"].cumsum().clip_upper(20) 并继续修改,直到达到预期结果

最佳答案

a = df["Volume"].cumsum().clip_upper(20)
b = a.shift().fillna(0)
filled_a = a - b

关于python - Pandas 累积/元素方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29764900/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com