在Python中按日期合并行和求和值[重复]

Posted

技术标签:

【中文标题】在Python中按日期合并行和求和值[重复]【英文标题】:Merging rows and summing values by date in Python [duplicate] 【发布时间】:2018-07-24 03:29:50 【问题描述】:

我有一个包含多个重复实例的数据框,按日期排序。它看起来像这样:

我正在尝试按日期合并行以匹配“关键字”,并对“视图”计数求和。

我希望得到的结果如下:

谁能提示我如何在 Python 中实现这一点?谢谢。

数据框:

 df = pd.DataFrame([["3/8/14", "adapter", 2], ["3/8/14", "adapter", 5], ["3/8/14", "charger", 1],
                   ["13/8/14", "adapter", 1], ["13/8/14", "battery-case", 0]],
                  columns=['Date', 'Keyword', 'Views'])

【问题讨论】:

简单聚合-pandas 101:df.groupby(['Date', 'Keyword'])['Views'].sum().reset_index() 【参考方案1】:

你想要一个groupby!

import pandas as pd

df = pd.DataFrame([["3/8/14", "adapter", 2], ["3/8/14", "adapter", 5], ["3/8/14", "charger", 1],
                   ["13/8/14", "adapter", 1], ["13/8/14", "battery-case", 0]],
                  columns=['Date', 'Keyword', 'Views'])
print df

#       Date       Keyword  Views
# 0   3/8/14       adapter      2
# 1   3/8/14       adapter      5
# 2   3/8/14       charger      1
# 3  13/8/14       adapter      1
# 4  13/8/14  battery-case      0

df2 = df.groupby(['Date','Keyword'],as_index=False).agg('Views': 'sum')

print df2

#       Date       Keyword  Views
# 0  13/8/14       adapter      1
# 1  13/8/14  battery-case      0
# 2   3/8/14       adapter      7
# 3   3/8/14       charger      1

【讨论】:

以上是关于在Python中按日期合并行和求和值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

合并数组的值并对重复值求和

Python合并两个具有不同日期时间的数据框[重复]

C# 合并重复列表项并将它们的第二个值求和(2D 对象列表)

如何合并行中重复的单元格值?我的代码忽略了一些重复的值

在python中通过多个条件合并不同数量的行和列

antd table 行合并