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

如何统计Pandas DataFrame单元格中的非空行数

解决方法

要统计text列每个单元格内的非空行数(排除仅为换行或空白的行),我们可以通过自定义函数结合pandas的apply方法实现,步骤如下:

1. 定义统计非空行数的函数

这个函数会将字符串按换行符分割,然后过滤掉那些去除首尾空白后为空的行,最后统计剩余行的数量:

def count_non_empty_lines(text_str):
    # 按换行符分割字符串为行列表
    lines = text_str.split('\n')
    # 统计strip后不为空的行的数量
    return sum(1 for line in lines if line.strip())

2. 应用函数到DataFrame列

使用apply方法将上述函数作用于text列,生成新的total_lines列:

import pandas as pd

MyDict = {'text' : ['\nbla bla text \n\n bla bla another text \n # bla text \n\n\n bla bla another text', '\nbla bla bla text2 \n\n\ bla bla bla another text it is \n\n # bla bla bla text \n bla bla it is another text']}
df = pd.DataFrame(MyDict)

# 添加统计列
df['total_lines'] = df['text'].apply(count_non_empty_lines)

# 查看结果
print(df)

结果验证

运行上述代码后,你会得到符合需求的DataFrame:

text  total_lines
0  \nbla bla text \n\n bla bla another text \n # bla text \n\n\n ...            4
1  \nbla bla bla text2 \n\n\ bla bla bla another text it is \n\n ...            4

原理说明:line.strip()会去除每行的首尾空白(包括换行符、空格、制表符等),如果处理后为空字符串,说明这行是仅含空白的无效行,我们直接排除;剩余的就是有效非空行,统计它们的数量即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 21:52:48