Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于条件聚合数据帧行_Python_Python 3.x - Fatal编程技术网

Python 基于条件聚合数据帧行

Python 基于条件聚合数据帧行,python,python-3.x,Python,Python 3.x,我有这张桌子 A B C E 1 2 1 3 1 2 4 4 2 7 1 1 3 4 0 2 3 4 8 3 现在,我想删除A列和B列的重复项,同时对C列求和。对于E,它应该取C显示最大值的值。理想结果表应如下所示: A B C E 1 2 5 4 2 7 1 1 3 4 8 3 我试过这样做:df.groupby(['A','B']).sum()['C']但是我的数据帧一点也没有改变,因为我认为我没有正确地合并E列部分……有人能给我建议吗 非常感谢 如果第一行和第二行是重复的,我们可以按它

我有这张桌子

A B C E
1 2 1 3
1 2 4 4
2 7 1 1
3 4 0 2
3 4 8 3
现在,我想删除A列和B列的重复项,同时对C列求和。对于E,它应该取C显示最大值的值。理想结果表应如下所示:

A B C E
1 2 5 4
2 7 1 1
3 4 8 3
我试过这样做:
df.groupby(['A','B']).sum()['C']
但是我的数据帧一点也没有改变,因为我认为我没有正确地合并E列部分……有人能给我建议吗


非常感谢

如果第一行和第二行是重复的,我们可以按它们分组

In [20]: df
Out[20]: 
   A  B  C  E
0  1  1  5  4
1  1  1  1  1
2  3  3  8  3

In [21]: df.groupby(['A', 'B'])['C'].sum()
Out[21]: 
A  B
1  1    6
3  3    8
Name: C, dtype: int64
我尝试了以下方法:df.groupby(['A',B']).sum()['C'],但我的数据帧一点也没有改变

是的,这是因为熊猫没有覆盖初始的
DataFrame

In [22]: df
Out[22]: 
   A  B  C  E
0  1  1  5  4
1  1  1  1  1
2  3  3  8  3
您必须显式地覆盖它

In [23]: df = df.groupby(['A', 'B'])['C'].sum()

In [24]: df
Out[24]: 
A  B
1  1    6
3  3    8
Name: C, dtype: int64

是DB的桌子吗?要按哪个字段对行进行分组?我要按除第一列(索引)和最后一列(非唯一)之外的所有列进行分组。同时,最后一列的值需要求和,因此聚合形式的第一个数据条目应在最后一列中显示值12(现在为1行)。如果使用pandas,您可以编辑问题并在其中添加列名称吗?也最好改变图片(从链接到真实图片)@danilmashkini添加了更好的可视化效果。你能回顾一下并让我知道你的想法吗?好的,那么另一个不完整的部分在E栏。这怎么能与我在原文中描述的条件联系起来呢?根据您的表格,第一行中的值E应为4,第二行中的值E应为3。请给我进一步的建议好吗?