在我的数据框架中,我有一些名称,我想根据一些单词拆分它。
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/