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

如何在Pandas DataFrame中将指定词移至句末?

问题解决:将指定关键词移至字符串末尾并应用到DataFrame

需求说明

原始数据集:

Column A
pt abcdefg
cv fghikl
abcdg pt
opqrs cv
bp ststst
qwert bp

需要将字符串中的pt、cv、bp移至句末,预期输出:

Column A
abcdefg pt
fghikl cv
abcdg pt
opqrs cv
ststst bp
qwert bp

代码完善与实现

你找到的代码片段仅能处理单个关键词的位置调整,我们可以修改函数逻辑,让它自动识别目标关键词并移至末尾,再通过pandas的apply方法批量应用到整个DataFrame列:

步骤1:调整核心函数

def move_target_to_end(s, target_words):
    words = s.split()
    # 遍历目标关键词,存在则移至末尾
    for word in target_words:
        if word in words:
            words.remove(word)
            words.append(word)
    return ' '.join(words)

步骤2:批量应用到DataFrame

假设你的DataFrame名为df,目标列是Column A,执行以下代码:

import pandas as pd

# 构造示例DataFrame(已有数据集可跳过此步)
data = {'Column A': ['pt abcdefg', 'cv fghikl', 'abcdg pt', 'opqrs cv', 'bp ststst', 'qwert bp']}
df = pd.DataFrame(data)

# 定义需要移动的关键词集合
targets = ['pt', 'cv', 'bp']

# 对目标列逐行应用函数
df['Column A'] = df['Column A'].apply(lambda x: move_target_to_end(x, targets))

# 查看处理结果
print(df)

代码说明

  • 优化后的move_target_to_end函数支持批量处理多个关键词,拆分字符串后,将目标关键词移至单词列表末尾;
  • 借助apply方法,无需循环遍历DataFrame的每一行,自动完成整列数据的调整。

内容的提问来源于stack exchange,提问作者rainy days.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:01:40