如何在Pandas系列中的两个元素之间切片

2024-06-26 17:54:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个系列,包含一列名称和他们的国籍在括号里。 我希望此列只包含个人国籍,不包含括号,索引相同。你知道吗

0             LOMBARDI Domingo (URU)
1                  MACIAS Jose (ARG)
2                TEJADA Anibal (URU)
3              WARNKEN Alberto (CHI)
4                REGO Gilberto (BRA)
5              CRISTOPHE Henry (BEL)
6           MATEUCCI Francisco (URU)
7                  MACIAS Jose (ARG)
8                LANGENUS Jean (BEL)
9                TEJADA Anibal (URU)
10              SAUCEDO Ulises (BOL)

我试过使用.split('')[2]来创建这个系列。你知道吗

但发现“'Series'对象没有'split'属性。”


Tags: 名称arg括号splitbel国籍josealberto
3条回答

使用extract

s.str.extract('.*\((.*)\).*',expand=True)[0]
Out[463]: 
0    URU
1    ARG
2    URU
3    CHI
Name: 0, dtype: object

使用slice。可能不是最优的,因为它假设字符串的右侧是常量,但这是另一种可能的解决方案。你知道吗

df.name.str.slice(start = -4).str[:-1]

您需要在序列上使用str访问器。你知道吗

df.name.str.split('(').str[1].str[:-1]

输出:

0     URU
1     ARG
2     URU
3     CHI
4     BRA
5     BEL
6     URU
7     ARG
8     BEL
9     URU
10    BOL
Name: name, dtype: object

相关问题 更多 >