如何使用Python统计DataFrame指定列值中的空格数量
正确实现Key列空格数量统计的方法
原有代码调用的
isspace()方法作用是判断整个字符串是否全部由空格字符组成,因此只会返回布尔值,完全不满足统计空格个数的需求。
方案1:Pandas向量化实现(优先推荐,性能更高)
直接调用Series的str.count方法匹配空格字符即可,无需逐行遍历:
# 基础实现,仅统计普通半角空格 df['space_count'] = df['Key'].str.count(' ') # 兼容空值、非字符串类型的稳健版本 df['space_count'] = df['Key'].str.count(' ').fillna(0).astype(int)
如果需要同时统计全角空格、制表符等所有空白字符,可以把匹配规则改成正则匹配\s:
df['space_count'] = df['Key'].str.count(r'\s').fillna(0).astype(int)
方案2:apply遍历实现
如果需要自定义逻辑兼容更多特殊场景,可以调整lambda表达式的逻辑:
df['space_count'] = df['Key'].apply(lambda x: x.count(' ') if isinstance(x, str) else 0)
结果验证
以你给出的示例Key列值运行后,得到的统计结果对应如下:
| Key | space_count |
|---|---|
| Identifier | 0 |
| Identifier Number | 1 |
| user identifier number | 2 |
| user | 0 |
| Location of user | 2 |
内容的提问来源于stack exchange,提问作者user468368
相关产品推荐
相关产品推荐

