Skip to main content
 首页 » 编程设计

python之循环 DF 中的列并根据 R 或 Python 中每个附加列的条件计算总和

2025年05月04日15me-sa

A B C 
1 0 0 
0 0 1 
0 1 0 
1 1 1 

这里我有 4*3 数据框(A、B、C 列)。我想根据两行均为 1 的条件计算列组合中的总和。换句话说,在输出中我希望有 1*3 数据帧和 A 2 B 1 C 1。所以,首先我看在 A 列,它有 2 行,所以总和为 2,然后我查看 A 和 B 的组合,只有一行 BOTH 1,所以我得到 1。最后,我得到 A,B 的组合,C 并且它有一行,所以我也得到 1。你能帮忙找到用 R 或 Python 做这件事的最佳方法吗?

请您参考如下方法:

如果你想要系列中的结果,你可以这样做。 dict 或 OrderedDict 也很容易

results = pd.Series(index=df.columns) 
for i, idx in enumerate(df.columns, 1): 
    results[idx] = df.iloc[:,:i].all(axis=1).sum() 

results

A    2.0 
B    1.0 
C    1.0