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

如何在Pandas DataFrame中按句号分割文本并计算各段长度(去空格)

解决方案

你可以编写function_len函数,先按句号分割文本,再对每个分割后的文本块去除开头空格,最后计算每个块的长度:

import pandas as pd

def function_len(text):
    # 按句号分割文本
    chunks = text.split('.')
    # 对每个块去除开头空格后计算长度,生成结果列表
    return [len(chunk.lstrip()) for chunk in chunks]

测试验证

用你给出的示例测试:

  • 测试1:
text1 = 'We are happy.We are happy'
print(function_len(text1))  # 输出 [13, 13]
  • 测试2:
text2 = 'we are happy. we are happy'
print(function_len(text2))  # 输出 [13, 13]

应用到Pandas DataFrame

假设你的DataFrame结构如下:

df = pd.DataFrame({
    'text': [
        'We are happy.We are happy',
        'we are happy. we are happy',
        'Hello.  This is a test.   End'
    ]
})

df['output'] = df['text'].apply(function_len)

运行后df['output']的结果为:

0          [13, 13]
1          [13, 13]
2    [5, 14, 3]

说明:lstrip()只会移除每个文本块开头的空格,不会影响块中间或结尾的空格,完全匹配你的需求。如果遇到分割后是空字符串的情况(比如文本以句号开头或结尾),lstrip()处理后还是空字符串,长度为0,这也是合理的行为。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:48:34