【发布时间】:2016-02-10 23:07:18
【问题描述】:
我在 csv 中有一张使用 pandas 的表格:
Name A B C
aa 0 5 7
aa 1 2 3
aa 1 5 6
aa 0 8 9
aa 1 8 9
aa 1 8 9
ab 0 8 9
ab 1 8 9
ab 1 8 9
ab 1 8 9
ac 0 8 9
ac 0 8 9
如果A = 1,我需要做的是对所有C 求和以获得相等的名称,因此输出应该类似于名称:{first of B: sum(C for this A)}。 我需要为 A 中的每个 1 补丁单独计算一个总和。 例如,aa的第一个1出现在第二行,所以我们为此取B(这里是2),然后取C。我们转到下一行,A = 1,然后我们将它的C与前一个C相加(从第 2 行开始)。第 4 个 A=0,所以我们不拿这个字符串继续。第 5 个 A=1 再次,所以我们再次执行第一步:保持 B=8 并将所有下一个 A=1 的 C 相加 例如,
aa: {2:3+6, 8:9+9} //here 2 is B when A=1 for the first time
ab: {8: 9+9+9}
ac: {*nothing, because no 1*}
我知道这很容易,但我是 python 新手,一直在遍历列
【问题讨论】:
-
为了证明你已经尝试过,你能用一个简单的代码示例来说明你到底在哪里卡住了吗?
-
还有,要明白,为什么是2:3+6而不是2:3和5:6,是不是因为中间没有A=0?
-
首先我从 for i in table('Name'): for j in table('A): for k in table('B'): for z in table(' C'): while j==1: sum('C')
code但后来我得到了它的谵妄,并修改了数据透视表,但仍然没有成功