лучший способ манипулировать строками для создания нового столбца pandas - PullRequest
1 голос
/ 13 января 2020

У меня есть столбец имен, например, GBR_1, GBR_2, FRA_1, FRA_2 и т. Д. c, и я хочу создать столбец только с GBR, GBR, FRA, FRA и т. Д. c. В настоящее время я делаю следующее:

df['Country'] = [df['Team'][i].partition('_')[0] for i in range(df.shape[0])]

Не похоже на лучший способ go об этом, особенно если символ раздела может измениться, например, может быть '-' или '_' или a ' :».

1 Ответ

1 голос
/ 13 января 2020

Используйте Series.str.extract, если хотите использовать только заглавные буквы с [A-Z]+, или если также используйте строчные буквы [A-Za-z]+:

df = pd.DataFrame({'Team':['GBR_1', 'GBR_2', 'FRA:1', 'FRA-2']})
df['Team'] = df['Team'].str.extract(r'([A-Z]+)', expand=False)
print (df)
  Team
0  GBR
1  GBR
2  FRA
3  FRA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...