使用 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中读取文件时将值组合在一起

如何根据python中.groupby函数制作的表格绘制多条形图?

如何将值从python传递给c++并返回?

Python Groupby 和绘图

TypeError: unhashable type: 'list' 在 python 中使用 groupby 时

如何将值映射到python中的模糊项