Pandas 中 Groupby 占总计的百分比
本文重点介绍数据分析中的一个常见任务:计算每个值占总计的百分比DataFrame 中的组。这是使用 Pandas 的问题和解决方案。
问题:
我有一个 CSV 文件,其中包含“州”、“Office ID”和“销售额”列。我想计算给定州每个办事处的销售额百分比,其中每个州所有百分比的总和为 100%。
解决方案:
实现为此,我们需要创建第二个 groupby 级别。
首先,我们可以根据“状态”创建一个 groupby 对象,并且'office_id' 列:
import pandas as pd state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
然后,我们通过将每个销售值除以其相应的州总和来创建一个新的 DataFrame:
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
此方法跟踪每个州的销售额,同时确保州内每个群体的百分比加起来为 100%。
以上是如何使用 Pandas 计算每个州每个办公室的销售额百分比?的详细内容。更多信息请关注PHP中文网其他相关文章!