Python 对dataframe中特定列的重复行求和
我想根据B列的重复行添加特定的C、D、E、F、G列,而其余的非重复行保持不变。列A的输出必须是重复行的第一个索引 我有一个数据框,如下所示:Python 对dataframe中特定列的重复行求和,python,pandas,dataframe,Python,Pandas,Dataframe,我想根据B列的重复行添加特定的C、D、E、F、G列,而其余的非重复行保持不变。列A的输出必须是重复行的第一个索引 我有一个数据框,如下所示: A B C D E F G box1 0487 1 1 1 box2 0487 1 1 blue 0478 1 1 1 gray 0478 1 1 1 1 gray 0478 1 1 1 flat 8704 1 1 1 cla
A B C D E F G
box1 0487 1 1 1
box2 0487 1 1
blue 0478 1 1 1
gray 0478 1 1 1 1
gray 0478 1 1 1
flat 8704 1 1 1
clay 8704 1 1
dark 8740 1 1 1 1 1
late 4087 1 1 1
A B C D E F G
box1 0487 1 1 1 1 1
blue 0478 2 2 2 2 2
flat 8704 1 1 1 2
dark 8740 1 1 1 1 1
late 4087 1 1 1
我希望输出如下:
A B C D E F G
box1 0487 1 1 1
box2 0487 1 1
blue 0478 1 1 1
gray 0478 1 1 1 1
gray 0478 1 1 1
flat 8704 1 1 1
clay 8704 1 1
dark 8740 1 1 1 1 1
late 4087 1 1 1
A B C D E F G
box1 0487 1 1 1 1 1
blue 0478 2 2 2 2 2
flat 8704 1 1 1 2
dark 8740 1 1 1 1 1
late 4087 1 1 1
我很高兴听到一些建议。使用聚合函数创建列名称字典并传递给,此外,这里有必要使用min_count=1进行求和,以避免求和值为0:
使用聚合函数创建列名称字典并传递给,此外,这里需要使用min_count=1进行求和,以避免求和值为0:
我有df.groupby'B'.agg{**{'A':lambda x:x.head1},**{I:'sum'表示df.columns中的I,如果I!='A'}。我太慢了:-@jezrael,你真是太棒了,先生,就这一次来说,你能做一个指南吗?一个初学者怎样才能开始学习呢?尽管我读了基础知识,但想知道怎样才能进入高级水平。“我会感谢你的。”拉文德辛格13-在我看来,没有简单的方法,我喜欢,尤其是与熊猫一起,他是最伟大的专家,专业知识和经验的荣誉@jezrael@Vishali-在L=['C'、'D'、'E'、'F'、'G']中定义的列的数据类型必须是数字、浮点或整数。您可以通过打印df[L].dtypesI有df.groupby'B'。agg{**{A':lambda x:x.head1},**{i:'sum'表示df.columns中的i,如果i!='A'}。我太慢了:-@jezrael,你真是太棒了,先生,就这一次来说,你能做一个指南吗?一个初学者怎样才能开始学习呢?尽管我读了基础知识,但想知道怎样才能进入高级水平。“我会感谢你的。”拉文德辛格13-在我看来,没有简单的方法,我喜欢,尤其是与熊猫一起,他是最伟大的专家,专业知识和经验的荣誉@jezrael@Vishali-在L=['C'、'D'、'E'、'F'、'G']中定义的列的数据类型必须是数字、浮点或整数。您可以通过打印df[L].d类型进行检查