小编Shi*_*hal的帖子

加速 Pandas 迭代

我有包含 3 列的 DataFrame:CustomerId、Amount 和 Status(成功或失败)。DataFrame 没有以任何方式排序。一个 CustomerId 可以在 DataFrame 中重复多次。

我想使用以下逻辑在此 DataFrame 中引入新列:

df[totalamount]= 状态为成功的每个客户的金额总和。

我已经有一个正在运行的代码,但是 df.iterrows 需要太多时间。因此请您提供替代方法,如熊猫矢量化或 numpy 矢量化。

例如,我想从前三列创建 'totalamount' 列:

   CustomerID  Amount   Status  totalamount
0           1       5  Success          105 # since both transatctions were successful
1           2      10   Failed           80 # since one transaction was successful
2           3      50  Success           50
3           1     100  Success          105
4           2      80  Success           80
5           4      60   Failed            0
Run Code Online (Sandbox Code Playgroud)

data-analysis dataframe python-3.x pandas

2
推荐指数
1
解决办法
38
查看次数

标签 统计

data-analysis ×1

dataframe ×1

pandas ×1

python-3.x ×1