gpt4 book ai didi

python - Numpy:有条件地添加行的特定列

转载 作者:行者123 更新时间:2023-12-01 09:17:24 24 4
gpt4 key购买 nike

对于给定的 numpy 数组:

[[1, 1, 'IGNORE_THIS_COL', 100],
[1, 1, 'IGNORE_THIS_COL', 101],
[1, 2, 'IGNORE_THIS_COL', 100]]

是否可以对行(和有条件的列)进行求和?假设第 0 列是组,第 1 列是用户,那么我想相应地添加第四列。最终的“求和”数组应如下所示。

[[1, 1, 'IGNORE_THIS_COL', 201],
[1, 2, 'IGNORE_THIS_COL', 100]]

我已经检查了多个答案,包括Numpy: conditional sum

最佳答案

您正在寻找列子集上的 groupby。使用 numpy 实现这是一个挑战,但使用 pandas groupby 实现就很简单:

import pandas as pd

df = pd.DataFrame(array)
out = df.groupby([0, 1], as_index=False).agg({2:'first', 3:'sum'}).values.tolist()

print(out)
[[1, 1, 'IGNORE_THIS_COL', 201], [1, 2, 'IGNORE_THIS_COL', 100]]

关于python - Numpy:有条件地添加行的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51117943/

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