熊猫-如何按特殊的部分字符串分组

时间:2020-10-10 10:28:25

标签: python pandas

我的.csv文件如下:

Population  Region
1001        Rigolet (N.L.)
2000        Nain (N.L.)
3000        Lot 63 (P.E.I.)
4000        Lot 53 (P.E.I.)
5000        Burnt Islands (N.L.)
6000        Burgeo (N.L.)
7000        Ham-Nord (Que.)
8000        Chesterville (Que.)
1000        Warwick (Que.)
9000        Prince (Ont.)
1002        Wawa (Ont.)

我想按 Region 列中字符串括号的结尾部分分组,例如'(N.L.)'或'(Ont。)'。

我该怎么办?

非常感谢!

1 个答案:

答案 0 :(得分:1)

Series.str.rsplitn=1一起使用,以便在右侧的第一个空白处分割。然后对这些值进行分组:

grps = df['Region'].str.rsplit(n=1).str[-1]
df.groupby(grps).#dosomething

当我们弄糟了时:

print(grps)
0       (N.L.)
1       (N.L.)
2     (P.E.I.)
3     (P.E.I.)
4       (N.L.)
5       (N.L.)
6       (Que.)
7       (Que.)
8       (Que.)
9       (Ont.)
10      (Ont.)
Name: Region, dtype: object