You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何布尔序列调用Pandas的.mean()输出浮点结果?如何关联OVERALL_LI列?

Pandas布尔序列均值计算疑问解答

问题背景

分析以下Pandas代码时遇到两个疑问:

  1. 执行education_districtwise['OVERALL_LI'] >= lower_limit得到布尔序列,但最终((education_districtwise['OVERALL_LI'] >= lower_limit) & (education_districtwise['OVERALL_LI'] <= upper_limit)).mean()输出浮点结果,不理解布尔序列调用.mean()为何生成浮点值;
  2. 不清楚最后一行的.mean()如何关联到OVERALL_LI列,已知代码是筛选该列中处于均值1倍标准差范围内的行,但对均值计算逻辑存疑。

原代码

import pandas as pd

education_districtwise = pd.read_csv('education_districtwise.csv')

mean_overall_li = education_districtwise['OVERALL_LI'].mean()
mean_overall_li

std_overall_li = education_districtwise['OVERALL_LI'].std()

lower_limit = mean_overall_li - 1 * std_overall_li
upper_limit = mean_overall_li + 1 * std_overall_li

# 疑问代码
((education_districtwise['OVERALL_LI'] >= lower_limit) & (education_districtwise['OVERALL_LI'] <= upper_limit)).mean()

示例数据集(education_districtwise.csv)

DISTNAME,STATNAME,BLOCKS,VILLAGES,CLUSTERS,TOTPOPULAT,OVERALL_LI
DISTRICT32,STATE1,13,391,104,875564.0,66.92
DISTRICT649,STATE1,18,678,144,1015503.0,66.93
DISTRICT229,STATE1,8,94,65,1269751.0,71.21
DISTRICT259,STATE1,13,523,104,735753.0,57.98
DISTRICT486,STATE1,8,359,64,570060.0,65.0
DISTRICT323,STATE1,12,523,96,1070144.0,64.32
DISTRICT114,STATE1,6,110,49,147104.0,80.48
DISTRICT438,STATE1,7,134,54,143388.0,74.49
DISTRICT610,STATE1,10,388,80,409576.0,65.97

疑问解答

1. 布尔序列调用.mean()生成浮点值的原因

在Pandas的数值计算逻辑中,布尔类型会被自动映射为整数:True对应1,False对应0。对布尔序列调用.mean()时,本质是计算所有元素的算术平均值——也就是符合条件(值为1)的元素数量 ÷ 总元素数量,结果是一个表示比例的浮点数。

比如你的代码中,合并后的布尔序列里,每个True代表该行的OVERALL_LI落在[lower_limit, upper_limit]范围内,False则相反。.mean()最终计算的就是这类符合条件的行占总行数的比例,所以输出浮点结果。

2. .mean()与OVERALL_LI列的关联逻辑

这里的.mean()并没有直接计算OVERALL_LI列的数值均值,而是基于OVERALL_LI生成的布尔序列做统计:

  1. 先通过两个条件判断,为OVERALL_LI的每一行生成布尔值,标记该行是否在均值±1倍标准差的范围内;
  2. 用&将两个布尔序列合并,得到一个完整的"符合条件标记序列";
  3. 最后调用.mean(),计算这个标记序列的均值——也就是满足范围要求的行占总行数的比例,而非OVERALL_LI列的数值平均。

举个具体例子:你的示例数据集共9行,假设其中7行的OVERALL_LI落在指定范围内,那么.mean()的结果就是7/9 ≈ 0.7778。


内容的提问来源于stack exchange,提问作者user29742

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:15:55