如何在熊猫系列的两个元素之间进行切片

时间:2018-07-30 15:56:18

标签: python pandas

我有一个“系列”,其中有一列,其名称和国籍用括号括起来。 我希望此列仅包含具有相同索引的个人国籍,并且不带括号。

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'。”

3 个答案:

答案 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]