#python #pandas
#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. Можете ли вы отредактировать свой вопрос и указать ожидаемый результат?
Ответ №1:
Используйте Series.str.rsplit
with n=1
, чтобы разделить на первый пробел справа. Затем сгруппируйте по этим значениям:
grps = df['Region'].str.rsplit(n=1).str[-1]
df.groupby(grps).#dosomething
Когда мы записываем grps:
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