如何计算数据集中rest_type为dining和cafe的rate列均值?
解决方案
Python Pandas 实现
先构造数据集并筛选目标类别,再计算均值:
import pandas as pd # 构造数据集 data = { 'rate': [3.4, 4, 3, 3.4, 4, 3, 4.4, 4, 3], 'rest_type': ['dining', 'casual', 'cafe', 'delivery', 'mexian', 'italian', 'indian', 'south_indian', 'cafe'] } df = pd.DataFrame(data) # 筛选rest_type为'dining'或'cafe'的数据,计算rate均值 target_types = ['dining', 'cafe'] mean_rate = df[df['rest_type'].isin(target_types)]['rate'].mean() print(mean_rate) # 输出结果为3.2
isin(target_types)用来匹配目标类别,筛选后提取rate列调用mean()即可得到均值。
SQL 实现
假设数据存储在名为restaurants的表中,执行以下查询语句:
SELECT AVG(rate) AS avg_rate FROM restaurants WHERE rest_type IN ('dining', 'cafe');
IN关键字指定要匹配的类别,AVG(rate)直接计算符合条件的rate列均值。
内容的提问来源于stack exchange,提问作者Vikas Sharma
相关产品推荐
相关产品推荐

