Python 2.7 Pandas:基于其他行的值合并和求和行

Python 2.7 Pandas:基于其他行的值合并和求和行,python-2.7,pandas,Python 2.7,Pandas,在熊猫的数据框中,我想通过分配所有对应值的总和,将列3中的所有列2中的所有'other'行组合成列1中每个值的一行 编辑-澄清:总的来说,我有大约20列(这些列中的值对于每一列都是唯一的。但是有80000个其他字段;但是,有三列影响我的问题 当前数据帧df: col_1 col_2 col_3 1 a 30 1 b 25 1 other 1 1 other 5 2 a

在熊猫的数据框中,我想通过分配所有对应值的总和,将
列3
中的所有
列2
中的所有
'other'
行组合成
列1
中每个值的一行

编辑-澄清:总的来说,我有大约20列(这些列中的值对于每一列都是唯一的。但是有80000个
其他
字段;但是,有三列影响我的问题

当前数据帧
df

col_1    col_2    col_3
1        a        30
1        b        25
1        other    1
1        other    5
2        a        321
2        b        1
2        other    45
2        other    52
2        other    17
2        other    8
col_1    col_2    col_3
1        a        30
1        b        25
1        other    6
2        a        321
2        b        1
2        other    122
所需结果:

col_1    col_2    col_3
1        a        30
1        b        25
1        other    1
1        other    5
2        a        321
2        b        1
2        other    45
2        other    52
2        other    17
2        other    8
col_1    col_2    col_3
1        a        30
1        b        25
1        other    6
2        a        321
2        b        1
2        other    122
我如何在熊猫中做到这一点?

您可以在col_1和col_2上拨打电话,然后:


我不是给出-1的那个人;但是,代码并没有消除我的大样本上的重复。请注意,我的DataFrameDos
df.set_index(['col_1','col_2'])。sum(level=1)
那就开始工作吧?在你的问题中加入来自beginning@dassouki:对于EdChum的第二点,如果你有一个例子,说明Ed的方法没有达到你想要的效果(这当然是我认为你想要的),您应该找到它的最小版本,并将其编辑到您的问题中。@DSM I添加了一行,说明还有20列。对于列中的每个唯一值,其中的数据都是相同的_1@dassouki:show,don't tell.IIUC,您可以包括一个额外的列
col_4
where
df[“col_4”]=df[“col_1”]*10
或其他什么,我认为如果您只需传递除col_3之外的每一列,例如,
df.groupby(df.columns.difference([“col_3”])).tolist()).sum().reset_index()
。[请注意,只有当每个col_1值只有一个a和b时,此项和Ed项才起作用,否则它也将组合这些项。如有必要,我们可以避免这种情况。]