根据单词拆分数据框字符串并将其存储在数据框列中



在我的数据框架中,我有一些名称,我想根据一些单词拆分它。

Dataframe (dff):

id            name
1     Midian Almeida(Last)
2     Robert(ASA)(first)
3     Nikole John (middle)
4     Nikole John (first)
5     Raça Negra  (last)

我想基于一个first,last,middle来拆分它们

我试过下面的部分

dff .str.split("名字")("(第一个)|(去年)|(中间),扩大= True) .add_prefix("name_")它给出如下输出:

name_0 
Midian Almeida                
Robert(ASA)       
Nikole John       
Nikole John      
Raça Negra

但是我想把拆分的单词放在另一列。期望输出为:

id           name       split option
1     Midian Almeida    (Last)
2     Robert(ASA)       (first)
3     Nikole John       (middle)
4     Nikole John       (first)
5     Raça Negra        (last)

我该怎么做呢?

这包含了您需要的内容:按正则表达式拆分熊猫。下面的代码应该可以工作:

df.name.str.split(r'((Last)|(first)|(middle))', expand=True)[[0, 1]]

您需要正则表达式的原因是因为您需要捕获组,在本例中是整个匹配字符串周围的括号。如果您想使用regex来获得更好的感觉,您可以使用以下命令:https://regex101.com/

最新更新