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
wheredf[“col_4”]=df[“col_1”]*10
或其他什么,我认为如果您只需传递除col_3之外的每一列,例如,df.groupby(df.columns.difference([“col_3”])).tolist()).sum().reset_index()
。[请注意,只有当每个col_1值只有一个a和b时,此项和Ed项才起作用,否则它也将组合这些项。如有必要,我们可以避免这种情况。]