gpt4 book ai didi

python - For循环确定加权平均python

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:25 24 4
gpt4 key购买 nike

我是 Python 的新手,在为某种情况设计正确的 for 循环时遇到了问题。

我有一个包含两列的数据框 dfclean:餐厅星级 “Star_Rating” 和评论总数 “Review_Count”

我想找到这些星级评分的加权平均值 (Star_Rating * (Review_Count/评论总数)),并将它们添加到名为 "weightedavg" 的新列中。

这是我目前所做的以及我认为我在每一步中所做的事情的笔记:

#get total number of reviews
totalreviews = dfclean.Review_Count.sum()

#create empty list to append values to
weightedavg = []

#for loop
for row in range(len(dfclean)):
weightedavg.append(dfclean.Star_Rating[row] * (dfclean.Review_Count[row] / totalreviews))

#make a new column in df consisting of weightedavg
dfclean['weightedavg'] = weightedavg

如有任何帮助,我们将不胜感激!

最佳答案

您不应该使用 for 循环。您可以利用广播来执行以下操作:

dfclean['weightedavg'] = dfclean['Star_Rating'] * dfclean['Review_Count'] / dfclean['Review_Count'].sum()

这比使用 Python 循环要快得多,而且在语法上也更简洁。您可以在 the numpy docs 中阅读有关广播的信息和 the pandas docs .

关于python - For循环确定加权平均python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38779242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com