通过将两列分组并对第三列数据求和来过滤python

Posted

技术标签:

【中文标题】通过将两列分组并对第三列数据求和来过滤python【英文标题】:Filter by grouping two columns and sum third column data python 【发布时间】:2019-09-10 14:31:14 【问题描述】:

我有一个大学作业要做, 我需要编写一个列出年份的python代码,总赢了, 以及所发生的赌注全部输掉。

我的数据位于带有标题的 .csv 文件中

Race_Course
Horse Name
Year
Month
Day
Amount_won_lost
Win/Los

我需要打印以下内容:

Year        Total Won   Total Lost
2016        €xxxxx      €xxxxx
2017        €xxxxx      €xxxxx

我尝试了以下方法:

total = df.groupby(['Year','Win/Loss']).Amount_won_lost.sum().reset_index(level=1)
print(total)

哪个打印:

Year       Win/Loss     Amount_won_lost
2016.0     lost         115.00
2016.0     won          584.81
2017.0     lost         5.00
2017.0     won          69.31

如何重新排列每年的总赢和总输?

【问题讨论】:

这在 pandas 中被称为枢轴 【参考方案1】:

将其添加到末尾并且有效:

print(total_won_2016.pivot(index=None, columns='Win/Loss', values='Amount_won_lost'))

【讨论】:

以上是关于通过将两列分组并对第三列数据求和来过滤python的主要内容,如果未能解决你的问题,请参考以下文章

PySpark Dataframe 将两列转换为基于第三列值的元组新列

在SQL中,如何将两列的数据相乘以获得第三列

SQL Server:按两列分组,并将第三列与两组的分叉相加

如何对两列求和并通过减去它们的聚合 SQL 和 C# 在第三列中显示结果?

Python Pandas:排序和分组,然后将第二列的两个连续行求和以获得第三列的特定值

Pandas 数据框:按两列分组,然后对另一列进行平均