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

如何使用pandas统计并展示仅包含小写字符的行的数量

Pandas 统计数据表内仅含小写字符行的实现方案

前置准备

首先导入pandas库,可先构造测试数据验证逻辑:

import pandas as pd

# 构造测试数据表
df = pd.DataFrame({
    'col1': ['apple', 'Banana', 'cherry123', '1234', 'orange', ''],
    'col2': ['cat', 'dog', 'Elephant', 'fish', 'tiger', 'rabbit']
})

场景1:统计某指定字符串列中仅含小写字符的行数

直接使用pandas字符串方法str.islower()实现判断:

# 统计col1列中仅含小写字符的行数
lower_count = df['col1'].str.islower().fillna(False).sum()
print(lower_count)

逻辑说明:

  • str.islower():判断字符串是否全部由小写字符构成,且至少包含一个可区分大小写的字符,非字符串类型、空字符串会返回NaN
  • fillna(False):将非字符串、空字符串的判断结果替换为False,不计入统计,如有需要可自行调整规则
  • sum():对布尔序列求和,True按1计算,False按0计算,最终得到符合条件的总行数

场景2:统计整行所有字符串列均为小写字符的行数

如果要求整行所有字符串类型的字段都满足全小写规则,实现逻辑如下:

# 第一步:筛选出所有字符串类型的列
str_cols = df.select_dtypes(include='object')
# 第二步:逐行判断所有字符串列是否都满足全小写要求
all_lower_mask = str_cols.apply(lambda col: col.str.islower().fillna(False)).all(axis=1)
# 第三步:统计符合条件的总行数
all_lower_count = all_lower_mask.sum()

# 如需查看符合条件的所有行,直接按掩码筛选即可
print(df[all_lower_mask])

逻辑说明:

  • select_dtypes(include='object'):自动筛选表内所有字符串类型的列,排除数值、日期等不需要判断的列
  • all(axis=1):按行判断,只有该行所有列的判断结果都为True时,最终结果才为True

常见逻辑调整

  • 如需将空字符串纳入符合条件的范围,可修改判断规则为col.str.islower().fillna(False) | (col == '')
  • 如需忽略数字的影响,可先对字符串做过滤:col.str.replace('\d', '', regex=True).str.islower().fillna(False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 16:57:07