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

如何用.column_name方式获取Pandas带空格列的len()?

回答

很遗憾地告诉你,完全没办法通过 .column_name 的点号语法来访问带空格的列名——这是Python本身的标识符规则决定的:变量/属性名里不能包含空格,所以当你写 df.Site In 时,Python会把它当成 df.Site 和 In 两个独立的标识符,直接抛出语法错误;而你尝试的SiteIn/Site_In这类命名,和原DataFrame里的Site In列名不匹配,自然会报属性不存在的错误。

不过别担心,有两种简单的方法可以解决你的需求:

1. 方括号索引(推荐,无需修改原数据)

这是处理带空格列名最直接的方式,直接用字符串形式的列名放在方括号里:

len(df['Site In'])
len(df['Site Out'])

这种方法适用于任何列名,哪怕是包含特殊字符、空格或者和Python关键字重名的列。

2. 重命名列名(适合长期使用)

如果你确实习惯用点号语法,可以先把带空格的列名改成符合标识符规则的名字,比如把空格换成下划线或者直接去掉:

# 重命名列,把空格换成下划线
df.rename(columns={'Site In': 'Site_In', 'Site Out': 'Site_Out'}, inplace=True)
# 之后就可以用点号访问了
len(df.Site_In)
len(df.Site_Out)

注意:inplace=True会直接修改原DataFrame,如果不想修改原数据,可以去掉这个参数,把结果赋值给新的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 03:53:14