如何通过对第 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 pd
and df = pd.DataFrame ( "col1":list("AAABBBBABCDA"), "col2":list("ABABABABCDDA"), "col3":list(range(10,130,10)))
会让它更完整以上是关于如何通过对第 3 列中的值求和,将前 2 列中具有相同值的 Pandas Dataframe 行组合在一起?的主要内容,如果未能解决你的问题,请参考以下文章