在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中按日期合并行和求和值[重复]的主要内容,如果未能解决你的问题,请参考以下文章