我有一个包含字符串的列的框架.我想修剪列中的字符串,以便在给定单词出现first次后删除所有内容.这些词在这个列表中:

words_to_trim_after = ['test', 'hello', 'very good']

所以如果我有一个像下面这样的框架

df = pd.DataFrame({'a':['test this is a test bla bla', 'hello bla bla this is a test', 'very good qwerty this is nice']})

我想以

df_end = pd.DataFrame({'a':['test', 'hello', 'very good']})

推荐答案

你可以用split

def trim_after_first_word(s, words):
        for word in words:
            parts = s.split(word, maxsplit=1)
            if len(parts) > 1:
                return word
        return None

Python相关问答推荐

如何计算列表列行之间的公共元素

通过优化空间在Python中的饼图中添加标签

numba jitClass,记录类型为字符串

Python 约束无法解决n皇后之谜

Python库:可选地支持numpy类型,而不依赖于numpy

如何在Python中并行化以下搜索?

修复mypy错误-赋值中的类型不兼容(表达式具有类型xxx,变量具有类型yyy)

当独立的网络调用不应该互相阻塞时,'

当递归函数的返回值未绑定到变量时,非局部变量不更新:

多处理队列在与Forking http.server一起使用时随机跳过项目

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

使用Openpyxl从Excel中的折线图更改图表样式

如何根据rame中的列值分别分组值

ModuleNotFoundError:Python中没有名为google的模块''

如何设置nan值为numpy数组多条件

极点替换值大于组内另一个极点数据帧的最大值

对数据帧进行分组,并按组间等概率抽样n行

替换包含Python DataFrame中的值的<;

多索引数据帧到标准索引DF

函数()参数';代码';必须是代码而不是字符串