如何计算两列数据平均值及指定ID范围内目标列的日均值
两列数据平均值与指定ID区间均值计算方法
1. 如何计算两列数据之间的平均值
根据你使用的工具不同,常见操作方法如下:
- 电子表格(Excel/WPS等)场景:
要计算两列每行对应数值的平均值,在目标单元格输入=AVERAGE(A1,B1)后下拉填充即可;要计算两列所有数值的整体平均值,输入=AVERAGE(A:A,B:B)即可。 - Python Pandas 场景:
假设数据表为df,两列名为col1、col2,计算每行两列的平均值:
计算两列所有数值的整体平均值:df['avg_per_row'] = df[['col1', 'col2']].mean(axis=1)total_avg = df[['col1', 'col2']].mean().mean() - SQL 场景:
计算每行两列的平均值,空值自动按0处理的写法:
计算两列所有数值的整体平均值:SELECT (IFNULL(col1, 0) + IFNULL(col2, 0))/2 AS avg_per_row FROM 你的表名;SELECT AVG(col) AS total_avg FROM ( SELECT col1 AS col FROM 你的表名 UNION ALL SELECT col2 AS col FROM 你的表名 ) t WHERE col IS NOT NULL;
2. 数据库指定ID区间的列平均值计算
可以实现,通用SQL写法如下,注意values是SQL关键字,需要用反引号包裹:
SELECT AVG(`values`) AS interval_average FROM 你的表名 WHERE id BETWEEN 4 AND 24;
- 注意事项:
- 上述语句统计的是ID 4到ID 24共21条数据的均值,如果你需要刚好20条,可以调整边界,比如改为
WHERE id >=5 AND id <=24或者WHERE id >=4 AND id <=23即可 - AVG函数默认自动跳过NULL值不会计入统计,如果需要把空值当做0计算,把
AVG(values)改为AVG(IFNULL(values, 0))即可 - 如果你需要统计该区间内的日均值,额外添加日期列分组即可,假设日期列为
record_date,写法如下:SELECT record_date, AVG(`values`) AS daily_average FROM 你的表名 WHERE id BETWEEN 4 AND 24 GROUP BY record_date;
- 上述语句统计的是ID 4到ID 24共21条数据的均值,如果你需要刚好20条,可以调整边界,比如改为
内容的提问来源于stack exchange,提问作者user17115451
相关产品推荐
相关产品推荐

