Skip to main content
 首页 » 编程设计

python之从字符串列表中删除某些字符串作为 pandas.DataFrame 中的列

2025年05月04日29zhenyulu

我有一个pandas.DataFrame:

    index    question_id    tag 
    0        1858           [pset3, game-of-fifteen] 
    1        2409           [pset4] 
    2        4346           [pset6, cs50submit] 
    3        9139           [pset8, pset5, gradebook] 
    4        9631           [pset4, recover] 

我需要从 tag 列中的字符串列表中删除除 pset* 字符串之外的所有字符串。

所以我需要这样结束:

    index    question_id    tag 
    0        1858           [pset3] 
    1        2409           [pset4] 
    2        4346           [pset6] 
    3        9139           [pset8, pset5] 
    4        9631           [pset4] 

请问我该怎么做?

请您参考如下方法:

一种选择:使用apply方法循环遍历tag列中的项目;对于每个项目,使用列表理解来使用 startswith 方法根据前缀过滤字符串:

df['tag'] = df.tag.apply(lambda lst: [x for x in lst if x.startswith("pset")]) 
df