如何调整Python打印格式并存储浮点列的均值与方差?
解决方法
1. 数据存储方案
用嵌套字典关联列名与对应的均值、方差,后续直接通过列名调用数值即可完成公式计算,比如stats['Age']['mean']。
2. 调整打印格式
修正原代码中错误引用整个列列表的问题,改为输出当前列名,让结果对应关系更直观,同时可按需设置小数位数优化可读性。
完整代码
import statistics from statistics import variance # 筛选浮点类型列 numerical = [var for var in train_1.columns if train_1[var].dtype == 'float64'] # 初始化字典存储统计结果 stats = {} for var in numerical: col_data = train_1[var] # 存储当前列的均值和方差 stats[var] = { 'variance': variance(col_data), 'mean': statistics.mean(col_data) } # 格式化打印结果 print(f"列名: {var}") print(f" 均值: {stats[var]['mean']:.4f}") # 保留4位小数,可按需调整 print(f" 方差: {stats[var]['variance']:.4f}\n") # 后续计算示例:用Age的均值乘RestingBP的方差 if 'Age' in stats and 'RestingBP' in stats: calc_result = stats['Age']['mean'] * stats['RestingBP']['variance'] print(f"计算结果: {calc_result:.4f}")
说明
- 字典
stats结构为{列名: {'mean': 均值, 'variance': 方差}},通过键值对可快速定位目标数值 - 打印时增加列名标识并格式化小数,避免原输出的混乱问题
- 统计结果只需计算一次,后续可反复调用,提升效率
内容的提问来源于stack exchange,提问作者Logit
相关产品推荐
相关产品推荐

