gpt4 book ai didi

python - 枢轴数据框上的 Pandas cumsum

转载 作者:行者123 更新时间:2023-11-30 22:33:53 24 4
gpt4 key购买 nike

我有一个以下形式的旋转数据框。

      Quantity             Result            
Alpha A B C A B C
Order
1 3.0 0.0 0.0 Best None None
2 0.0 6.0 4.0 None Good Good
3 3.0 0.0 0.0 Average None None

我正在尝试创建另一个名为 CumulativeQty 的主列,其中包含 3 列,我希望将其作为主列 Quantity 中相应 3 列的 cumsum() 。如果不单独指定次要列,我该如何处理呢?我试过了

p['CumulativeQty'] = p['Quantity'].cumsum(axis=1)

但这会提示 ValueError: Wrong number of items pass 3,placement suggest 1.

期望的结果是

            CumulativeQty                     
Alpha A B C
Order
1 3.0 0.0 0.0
2 3.0 6.0 4.0
3 6.0 6.0 4.0

以下是如何获取起始旋转数据帧。

df = pd.DataFrame(data=[[1, "A", 3, "Best"], [2, "C", 4, "Good"], [2, "B", 6, "Good"], [3, "A", 3, "Average"]],
columns=["Order", "Alpha", "Quantity", "Result"])
p = df.pivot(index="Order", columns="Alpha")
p['Quantity'] = p['Quantity'].fillna(0)

最佳答案

选项 1

p.join(p[['Quantity']].cumsum().rename(columns=dict(Quantity='Cumsum')))

Quantity Result Cumsum
Alpha A B C A B C A B C
Order
1 3.0 0.0 0.0 Best None None 3.0 0.0 0.0
2 0.0 6.0 4.0 None Good Good 3.0 6.0 4.0
3 3.0 0.0 0.0 Average None None 6.0 6.0 4.0

选项 2

pd.concat([
p.Quantity, p.Result, p.Quantity.cumsum()
], axis=1, keys=['Quantity', 'Result', 'Cumsum'])

Quantity Result Cumsum
Alpha A B C A B C A B C
Order
1 3.0 0.0 0.0 Best None None 3.0 0.0 0.0
2 0.0 6.0 4.0 None Good Good 3.0 6.0 4.0
3 3.0 0.0 0.0 Average None None 6.0 6.0 4.0

关于python - 枢轴数据框上的 Pandas cumsum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45018240/

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