Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 23.09.2017
Сообщений: 88

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

21.12.2022, 09:49. Показов 903. Ответов 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
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
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
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
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_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru