我有一个“系列”,其中有一列,其名称和国籍用括号括起来。 我希望此列仅包含具有相同索引的个人国籍,并且不带括号。
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'。”
答案 0 :(得分: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
答案 1 :(得分:1)
使用extract
s.str.extract('.*\((.*)\).*',expand=True)[0]
Out[463]:
0 URU
1 ARG
2 URU
3 CHI
Name: 0, dtype: object
答案 2 :(得分:0)
使用slice
。假定字符串的右侧是恒定的,可能不是最佳选择,但这是另一种可能的解决方案。
df.name.str.slice(start = -4).str[:-1]