2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88

Заменить спецсимволы в столбце одной строкой кода

21.12.2022, 09:49. Показов 913. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При обработке телефонных номеров есть необходимость убрать из них спецсимволы.
Я делаю это следующим образом.

Python
1
2
3
4
5
6
import pandas as pd
df = pd.DataFrame({'telefon':['+7(777)6543','+7(777)9999 ','    +7(727)8888', 7777777]})
df['telefon'] = df['telefon'].astype('str').str.strip()
df['telefon'] = df['telefon'].str.replace('+','')
df['telefon'] = df['telefon'].str.replace('(','')
df['telefon'] = df['telefon'].str.replace(')','')
Последние три строки я пытаюсь записать в таком виде. Но получаю ошибку.
Python
1
df['telefon'] = df['telefon'].str.replace(['+', '(', ')'], '')
Есть ли другой способ это сделать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.12.2022, 09:49
Ответы с готовыми решениями:

Ввод данных в консоли и вывод одной строкой кода
Здравствуйте, помогите мне сделать вывод текста + сразу readline Я делал так: Console.WriteLine ("Введите чему равен А...

Объявление переменной и присвоение ей значения одной строкой кода
Здравствуйте! Подскажите пожалуйста как объявить переменную и сразу же присвоить ей значение в одной строке. У меня не получается: ...

Не могу разобраться с одной строкой кода (cout.precision)
Всего один маленький вопросик. Что делает вот эта строка cout.precision(3); ???? 1) Вычислить и вывести на экран в виде таблицы...

5
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
21.12.2022, 10:19
Sibil,
Python
1
 df['telefon'].replace(to_replace='[ +)(]',value='',regex=True, inplace=True)
Добавлено через 8 минут
Можно через «прокладку»:
Python
1
 df['telefon'] = df['telefon'].map(str).str.replace(r"[\D]", "", regex=True)
1
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88
21.12.2022, 10:22  [ТС]
Gdez, отлично, спасибо!
0
150 / 120 / 36
Регистрация: 01.11.2019
Сообщений: 425
21.12.2022, 11:18
Еще одно решение, более короткое и понятное

Python
1
df['telefon'] = df['telefon'].str.findall(r'\d').str.join('')
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
21.12.2022, 14:33
Цитата Сообщение от Gdez Посмотреть сообщение
r"[\D]"
Диапазон не нужен
r'\D'

Добавлено через 1 минуту
Python
1
df['telefon'] = re.sub(r'\D+', '', f"{df['telefon']}")
3
Эксперт Python
8850 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
21.12.2022, 15:22
Лучший ответ Сообщение было отмечено Sibil как решение

Решение

iSmokeJC,
Значит можно так (без доп импорта библиотек):
Python
1
 df['telefon'].replace(r'\D','',regex=True, inplace=True)
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2022, 15:22
Помогаю со студенческими работами здесь

Подскажите оператор для сравнения трех элементов одной строкой кода
у меня есть a, b, c сушествует ли оператор чтобы это сделать в 1 строчку а не в 10

Запись данных из текстового поля в разные ячейки одной строкой кода
Ребята, подскажите возможно ли записать данные из текстового поля в разе ячейки одной строкой кода: ...

Элементы матрицы расположенные в одной строке и в одном столбце с минимальным заменить на него
Дана квадратная матрица 5х5. Составить программу, которая находит минимальный элемент и все элементы, расположенные в одной строке и в...

Ввести квадратные матрицы x1, x2. Заменить первой строкой одной матрицы первую строку другой. Матрица, строка которой
Ввести квадратные матрицы X1 , X2 . Заменить первой строкой одной матрицы первую строку другой матрицы. Матрица, строка которой будет...

Матрицы: найти max элемент и все, расположенные в одной строке и столбце с max, заменить на нули
Дана квадратная матрица А порядка n. Составить программу, которая находит максимальный элемент и все элементы, расположенные в одной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru