使用 groupby [Python] 时如何将值相乘
Posted
技术标签:
【中文标题】使用 groupby [Python] 时如何将值相乘【英文标题】:How do I multiply values when using groupby [Python] 【发布时间】:2021-02-15 19:46:02 【问题描述】:我目前正在使用下面的代码来拆分电影的国家/地区并将它们与它们的评级联系起来。然后我使用 groupby 来计算每个国家的平均值。但是,我想将每个国家/地区的得分乘以每个国家/地区制作的电影数量。
s = countryGraph[['weighted_average_vote']].assign(country=countryGraph['country'].str.split(r'\s*,\s*')).explode('country')
avg = s.groupby('country')['weighted_average_vote'].mean()
我已经坚持了一段时间了。任何帮助表示赞赏:)
这是我目前得到的结果示例。我只需要计算有多少国家/地区对平均值做出了贡献,这样我就可以将每个分数乘以该分数。
数据来源:here
【问题讨论】:
【参考方案1】:通过计算每个问题解决了我的问题。
avg2 = s.groupby('country')['weighted_average_vote'].count()
然后我将计数乘以平均值(使用比例因子)
avg = avg * (avg2 * 0.00005)
这给了我一个所有国家的列表(没有重复),它们的平均评分乘以“weighted_average_vote”的数量。
【讨论】:
以上是关于使用 groupby [Python] 时如何将值相乘的主要内容,如果未能解决你的问题,请参考以下文章
如何根据python中.groupby函数制作的表格绘制多条形图?