如何在pandas DataFrame中新建avg_rating列计算三类评分平均值
需求说明
现有数据集cust_rating共包含3列:rating、food_rating、service_rating,需要新增名为avg_rating的列存储三类评分的四舍五入后平均值。
补全后完整代码
import pandas as pd cust_rating = pd.read_csv('https://query.data.world/s/ILc-P4llUraMaYN6N6Bdw7p6kUvHnj') cust_rating['avg_rating'] = round(cust_rating[['rating','food_rating','service_rating']].mean(axis=1)) print(cust_rating.head(10))
逻辑说明
- 空缺位置的核心逻辑是选中三个评分列,按行计算平均值,再传入
round()函数完成四舍五入 - 用
mean(axis=1)的写法比手动逐列相加再除以3的写法更简洁,同时可以自动适配空值计算规则,容错性更高 - 如果需要保留指定小数位,可在
round中传入第二个参数,比如round(xxx,2)就是保留2位小数
内容的提问来源于stack exchange,提问作者Abhijit Mule
相关产品推荐
相关产品推荐

