python代码实现计算数据集中不同cyl(气缸数)、carb(化油器)对应的mpg(油耗)和hp(马力)均值、极差(最大值减去最小值)、离差(每个数据与均值的差值)。
时间: 2024-05-11 15:14:20 浏览: 214
python语言实现算数分析
假设数据集已经存储在一个名为data的列表中,其中每个元素都是一个字典,包含了该条记录的各个属性值。代码如下:
```python
from collections import defaultdict
import numpy as np
# 将数据按照cyl和carb分组,并计算每组的mpg和hp的均值、极差、离差
grouped_data = defaultdict(lambda: defaultdict(list))
for record in data:
cyl = record['cyl']
carb = record['carb']
mpg = record['mpg']
hp = record['hp']
grouped_data[cyl][carb].append((mpg, hp))
result = {}
for cyl, carb_data in grouped_data.items():
for carb, mpg_hp_data in carb_data.items():
mpgs, hps = zip(*mpg_hp_data)
mpg_mean = np.mean(mpgs)
mpg_range = max(mpgs) - min(mpgs)
mpg_deviation = [mpg - mpg_mean for mpg in mpgs]
hp_mean = np.mean(hps)
hp_range = max(hps) - min(hps)
hp_deviation = [hp - hp_mean for hp in hps]
result[(cyl, carb)] = {
'mpg_mean': mpg_mean,
'mpg_range': mpg_range,
'mpg_deviation': mpg_deviation,
'hp_mean': hp_mean,
'hp_range': hp_range,
'hp_deviation': hp_deviation
}
# 打印结果
for (cyl, carb), values in result.items():
print(f'cyl={cyl}, carb={carb}:')
print(f'mpg_mean={values["mpg_mean"]:.2f}, mpg_range={values["mpg_range"]:.2f}, mpg_deviation={values["mpg_deviation"]}')
print(f'hp_mean={values["hp_mean"]:.2f}, hp_range={values["hp_range"]:.2f}, hp_deviation={values["hp_deviation"]}')
```
这段代码使用了Python的一些高级特性,如defaultdict、zip和tuple解包等,如果不熟悉可以查阅相关资料。其中,使用numpy库计算均值、极差和离差可以方便地处理多个数据。
阅读全文