Skip to content
Related Articles

Related Articles

How to Remove repetitive characters from words of the given Pandas DataFrame using Regex?
  • Last Updated : 29 Dec, 2020

Prerequisite: Regular Expression in Python

In this article, we will see how to remove continuously repeating characters from the words of the given column of the given Pandas Dataframe using Regex.

Here, we are actually looking for continuously occurring repetitively coming characters for that we have created a pattern that contains this regular expression (\w)\1+ here \w is for character, 1+ is for the characters that come more than once. 

We are passing our pattern in the re.sub() function of re library. 

Syntax: re.sub(pattern, repl, string, count=0, flags=0)



The ‘sub’ in the function stands for SubString, a certain regular expression pattern is searched in the given string(3rd parameter), and upon finding the substring pattern is replaced by repl(2nd parameter), count checks and maintains the number of times this occurs. 

Now, Let’s create a Dataframe:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing required libraries
import pandas as pd
import re
  
# creating Dataframe with column 
# as name and common_comments
df = pd.DataFrame(
  {
    'name' : ['Akash', 'Ayush', 'Diksha',
              'Priyanka', 'Radhika'],
      
    'common_comments' : ['hey buddy meet me today ',
                         'sorry bro i cant meet',
                         'hey akash i love geeksforgeeks',
                         'twiiter is the best way to comment',
                         'geeksforgeeks is good for learners']
    },
    
    columns = ['name', 'common_comments']
)
# printing Dataframe
df

chevron_right


Output:

Now, Remove continuously repetitive characters from words of the Dataframe common_comments column. 

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# define a function to remove
# continously repeating character
# from the word 
def conti_rep_char(str1):
    tchr = str1.group(0)
    if len(tchr) > 1:
      return tchr[0:1]
      
# define a function to check
# whether unique character 
# is present or not
def check_unique_char(rep, sent_text):
    
    # regular expression for 
    # repetion of characters
    convert = re.sub(r'(\w)\1+'
                     rep,
                     sent_text)
      
    # returing the converted word
    return convert
  
df['modified_common_comments'] = df['common_comments'].apply(
                                   lambda x : check_unique_char(conti_rep_char,
                                                              x))
# show Dataframe
df

chevron_right


Output:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :