Python中用下划线替代列名空格求均值报KeyError的原因
问题解答
- 核心原因很直接:DataFrame的列名是严格匹配的,你用下划线连接的
Number_of_U.S._Representatives在你的数据里根本不存在,而带空格的Number of U.S. Representatives才是数据中真实存在的列名。 - 不少新手会混淆Python变量命名规则和DataFrame列名规则——Python变量确实不允许空格,但DataFrame列名本质是字符串,完全支持包含空格、标点的格式,只要和数据加载时的列名完全一致就能正常调用。
- 你可以运行
print(df.columns)查看数据的所有真实列名,就能直观确认这一点。 - 如果更习惯用下划线风格的列名,可以提前批量替换列名,代码示例:
替换后就能用df.columns = df.columns.str.replace(' ', '_')df['Number_of_U.S._Representatives'].mean()正常计算均值了。
内容的提问来源于stack exchange,提问作者maggie
相关产品推荐
相关产品推荐

