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

基于字符数替换DataFrame中段落内容的技术实现需求

替换DataFrame中短段落为“Read More...”

需求说明

现有一个包含paragraph(段落文本)和Number of Characters(对应段落字符数)两列的DataFrame,需将字符数少于100的段落替换为“Read More...”,字符数≥100的段落保留原内容。

示例输入

paragraphNumber of Characters
Paragraph 140
Paragraph 2120

预期输出

paragraphNumber of Characters
Read More...40
Paragraph 2120

实现方法

以下是几种简洁高效的实现方式:

方法1:使用numpy.where

通过条件判断直接赋值,代码简洁高效:

import pandas as pd
import numpy as np

# 创建示例DataFrame
data = {
    'paragraph': ['Paragraph 1', 'Paragraph 2'],
    'Number of Characters': [40, 120]
}
df = pd.DataFrame(data)

# 执行替换
df['paragraph'] = np.where(df['Number of Characters'] < 100, 'Read More...', df['paragraph'])

方法2:使用pandas.loc

利用布尔索引定位目标行并赋值,适合需要更精细控制的场景:

import pandas as pd

# 创建示例DataFrame
data = {
    'paragraph': ['Paragraph 1', 'Paragraph 2'],
    'Number of Characters': [40, 120]
}
df = pd.DataFrame(data)

# 执行替换
df.loc[df['Number of Characters'] < 100, 'paragraph'] = 'Read More...'

方法3:使用apply函数

通过自定义逻辑逐行处理,灵活性强:

import pandas as pd

# 创建示例DataFrame
data = {
    'paragraph': ['Paragraph 1', 'Paragraph 2'],
    'Number of Characters': [40, 120]
}
df = pd.DataFrame(data)

# 执行替换
df['paragraph'] = df.apply(lambda row: 'Read More...' if row['Number of Characters'] < 100 else row['paragraph'], axis=1)

执行上述任意一种方法后,即可得到符合预期的DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 16:45:44