gpt4 book ai didi

python - Pandas 数据框 : Check if data is monotonically decreasing

转载 作者:太空狗 更新时间:2023-10-29 18:25:45 27 4
gpt4 key购买 nike

我有一个像这样的 Pandas 数据框:

    Balance       Jan       Feb       Mar       Apr
0 9.724135 0.389376 0.464451 0.229964 0.691504
1 1.114782 0.838406 0.679096 0.185135 0.143883
2 7.613946 0.960876 0.220274 0.788265 0.606402
3 0.144517 0.800086 0.287874 0.223539 0.206002
4 1.332838 0.430812 0.939402 0.045262 0.388466

我想通过确定从一月到四月的值是否单调递减(如索引为 1 和 3 的行)来对行进行分组,然后将每组的余额相加,即最后我想以两个数字结束(递减时间序列为 1.259299,其他时间序列为 18.670919)。

我想如果我可以添加一个包含 bool 值的“正在减少”列,我可以使用 pandas 的 groupby 进行求和,但我将如何创建此列?

谢谢,安妮

最佳答案

您可以使用 algos 中的 is_monotonic 函数之一:

In [10]: months = ['Jan', 'Feb', 'Mar', 'Apr']

In [11]: df.loc[:, months].apply(lambda x: pd.algos.is_monotonic_float64(-x)[0],
axis=1)
Out[11]:
0 False
1 True
2 False
3 True
4 False
dtype: bool

is_monotonic 检查数组是否递减 因此 -x.values

(即使使用提供的小型 DataFrame,这似乎比 Tom 的解决方案快得多。)

关于python - Pandas 数据框 : Check if data is monotonically decreasing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17704408/

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