Извлечь текст в круглых скобках из столбца данных pandas и скопировать вывод в тот же столбец - PullRequest
1 голос
/ 27 января 2020

Я хочу получить только текст в скобках и сохранить этот текст в том же столбце.

У меня есть следующий фрейм данных df:

id     feature
1      mutation(MI:0118)
2      mutation(MI:0119)
3      mutation(MI:01120)

Ожидаемый результат:

id     feature
1      MI:0118
2      MI:0119
3      MI:01120

Я попробовал следующее регулярное выражение, но оно не позволяет мне скопировать его в тот же столбец.

df['feature'] = df['feature'].str.extract(r"\((.*?)\)", expand=False)

Я получаю следующее предупреждение, и приведенный выше код преобразует все значения в столбце функций в NaN

/home/lib/python2.7/site-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  """Entry point for launching an IPython kernel.

Спасибо

1 Ответ

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

Попробуйте использовать приведенный ниже код с другим шаблоном:

df['feature'] = df['feature'].str.extract('.*\((.*)\).*', expand=False)
print(df)

Вывод:

   id   feature
0   1   MI:0118
1   2   MI:0119
2   3  MI:01120

Regex101

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...