在Python中按日期合并行和汇总值

Not*_*tna 3 python merge rows dataframe

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

在此处输入图片说明

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

我希望获得的结果如下:

在此处输入图片说明

谁能提示我如何在 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'])
Run Code Online (Sandbox Code Playgroud)

小智 10

你想要一个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
Run Code Online (Sandbox Code Playgroud)