Как очистить числа внутри квадратной скобки на фрейме данных Panda - PullRequest
0 голосов
/ 06 мая 2020

Мой фрейм данных - df2, столбец, который я хочу очистить, - «Официальная причина». Символ, который я хочу очистить, - это квадратная скобка [], внутри которой есть числа. Например, [9], [26], [38]. Каждая строка имеет одну квадратную скобку с номером в том же столбце. Используя приведенное ниже выражение, я могу удалить закрывающую и открывающую квадратные скобки, но это не включает удаление чисел внутри.

df2['Official Cause']=df2['Official Cause'].replace('[26]', ' ').                                           

Пожалуйста, мне нужна помощь, пожалуйста, покажите мне простую формулу, которая работает для Pandas Frame. Спасибо.

Ответы [ 3 ]

1 голос
/ 06 мая 2020

Вы можете использовать регулярное выражение для захвата скобок и их замены.

df2 ["Официальная причина"] = df2 ["Официальная причина"] .str.replace ('\[ .+\]', '')

0 голосов
/ 06 мая 2020

Вы можете использовать регулярное выражение -> r'\[.*\] ?' предположим, что ваш df такой:

    column_a
0   [0.00536237]20
1   [0.00652899]
2   [0.00579218]

df["column_a"].str.replace(r'\[.*\] ?', "").str.strip()

Вывод:

0    20
1      
2      
Name: column_a, dtype: object
0 голосов
/ 06 мая 2020

pandas .Series.str.replace фактически принимает регулярное выражение, поэтому можно удалить несколько значений с одним и тем же выражением. Отвечает ли это на ваш вопрос? Заменить несколько подстрок в серии Pandas значением

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