如何通过对第 3 列中的值求和,将前 2 列中具有相同值的 Pandas Dataframe 行组合在一起?

Posted

技术标签:

【中文标题】如何通过对第 3 列中的值求和,将前 2 列中具有相同值的 Pandas Dataframe 行组合在一起?【英文标题】:How to group together rows of Pandas Dataframe with same values in first 2 columns by summing values in the 3rd column? 【发布时间】:2020-12-04 17:23:49 【问题描述】:

我有一个表单的数据框:

对于 col1 和 col2 的相同值(例如 AB),我想在数据帧的 col3 中添加所有值,以便只保留该表单 (AB) 的一行,并且 col3 中的所有值对应于已添加。

结果如下:

我试过了:

df.groupby(['col1', 'col2'], axis=0, as_index=True).sum()

但它给了我:

这不是我想要的。请帮助和建议。提前致谢。

【问题讨论】:

请包含最少的可重现代码,以便我们可以将您的 DF 复制粘贴到我们的环境中并帮助您解决此问题 请将代码和数据添加为文本 (using code formatting),而不是图像。图片:A)不允许我们复制粘贴代码/错误/数据进行测试; B) 不允许根据代码/错误/数据内容进行搜索;和many more reasons。除了代码格式的文本之外,只有在图像添加了一些重要的东西,而不仅仅是文本代码/错误/数据传达的内容时,才应该使用图像。 .reset_index(): ***.com/questions/21767900/… 感谢 cmets 伙计们,会牢记:) 【参考方案1】:

你只需要这样做,False 而不是True

df.groupby(['col1', 'col2'], axis=0, as_index=False).sum()

【讨论】:

import pandas as pdand df = pd.DataFrame ( "col1":list("AAABBBBABCDA"), "col2":list("ABABABABCDDA"), "col3":list(range(10,130,10))) 会让它更完整

以上是关于如何通过对第 3 列中的值求和,将前 2 列中具有相同值的 Pandas Dataframe 行组合在一起?的主要内容,如果未能解决你的问题,请参考以下文章

我如何基于Awk中另一列中的值求和列中的值

如何对特定列中具有相同值的行求和

SQL group by 和 sum 基于其他列中的不同值(如果其他列中的值重复,则求和一次)

SQL 聚合具有相同 id 的行,辅助列中的特定值

Excel:根据另一列中的值和映射值求和值

R-折叠行并对列中的值求和