gpt4 book ai didi

列的 Pandas 总和滞后

转载 作者:行者123 更新时间:2023-12-01 13:14:44 25 4
gpt4 key购买 nike

假设我有这样的数据

df = pd.DataFrame({"MONTHS":[1,2,3,4,5,6], "METRIC":[430,584,648,571,610,535]})

df = pd.DataFrame({"MONTHS":[1,2,3,4,5,6], "METRIC":[430,584,648,571,610,535]})我想要做的是找到度量列的总和 =3378

MONTHS NEW_METRIC
0 3378
1 3378
2 2948
3 2794
4 2730
5 2807
6 2768

所以这里基本上创建了一个添加了 0 的新行,相应的新指标是总和,对于值 1,它也是新指标的总和,但是从 month=2 开始,它应该减去指标的滞后值 (3378-430 ) 和类似的 months3 它将是 (3378-584) 等直到结束。作为第一步,我想将总和存储在失败的结果中

sum_METRIC = df.agg({"METRIC":"sum"}).collect()[0]
result = sum_METRIC["sum(METRIC)"]

这引发了错误“Series”对象没有属性“collect”。

我如何求和然后使用滞后减去?

最佳答案

您可以从结果总和中减去 METRIC:

In [11]: df["METRIC"].sum() - df["METRIC"].reindex(np.arange(0, 7)).shift(2).fillna(0)
Out[11]:
0 3378.0
1 3378.0
2 2948.0
3 2794.0
4 2730.0
5 2807.0
6 2768.0
Name: METRIC, dtype: float64

关于列的 Pandas 总和滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56384665/

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