【发布时间】:2022-01-03 14:56:10
【问题描述】:
我正在用 pandas 学习 Python 数据分析
我有一个游戏销售数据框,看起来像这样:
(此数据不真实,仅供提问)
Name Year Publisher Total Sales
GTA V 2013 Rockstar 133000
Super Mario Bros 1985 Nintendo 430500
GTA VI 2025 Rockstar 86000
RDR 3 2025 Rockstar 129030
Super Mario Sister 1985 Nintendo 308900
Super Mario End 2000 Nintendo 112100
然后我删除名称并使用此命令按发布者名称对其进行分组:
df.drop(columns='Name', inplace=True)
df.groupby(['Publisher','Year','Total Sales']).sum().reset_index()
数据框现在看起来像这样:
Publisher Year Total Sales
Nintendo 1985 308900
Nintendo 1985 430500
Nintendo 2000 112100
Rockstar 2013 133000
Rockstar 2025 129030
Rockstar 2025 86000
这很好,但我想将同一出版商同一年的总销售额相加
我希望数据框看起来像这样:
Publisher Year Total Sales
Nintendo 1985 739400
Nintendo 2000 86000
Rockstar 2013 129030
Rockstar 2025 215030
有没有办法做到这一点?
这是我的 df 代码:
data = {'Name':['GTA V','Super Mario Bros','GTA VI','RDR 3','Super Mario Sister','Super Mario End'],'Year':['2013','1985','2025','2025','1985','2000'],
'Publisher':['Rockstar','Nintendo','Rockstar','Rockstar','Nintendo','Nintendo'],'Total Sales':['133000','430500','86000','129030','308900','112100']}
df = pd.DataFrame(data)
df
【问题讨论】:
标签: python pandas dataframe filter