如何使用Regex从给定的Pandas DataFrame的单词中删除重复的字符

如何使用Regex从给定的Pandas DataFrame的单词中删除重复的字符

在这篇文章中,我们将看到如何使用Regex从给定的Pandas Dataframe的给定列的单词中移除连续重复的字符。

在这里,我们实际上是在寻找连续出现的重复出现的字符,为此我们创建了一个包含这个正则表达式(\w)\1+的模式,这里的\w是指字符,1+是指出现一次以上的字符。

我们在re库的re.sub()函数中传递我们的模式。

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

函数中的’sub’代表SubString,在给定的字符串(第3个参数)中搜索某个正则表达式模式,找到子串模式后用repl(第2个参数)替换,count检查并保持这种情况的发生次数。

现在,让我们创建一个数据框架。

# 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

输出:

如何使用Regex从给定的Pandas DataFrame的单词中删除重复的字符?

现在,从Dataframe common_comments列的单词中删除连续重复的字符。

# define a function to remove
# continuously repeating character
# from the word
def conti_rep_char(str1):
    tchr = str1.group(0)
    if len(tchr) > 1:
      返回值 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
    # repetition of characters
    convert = re.sub(r'(\w)\1+',
                     rep,
                     sent_text)
     
    # 返回值ing the converted word
    返回值 convert
 
df['modified_common_comments'] = df['common_comments'].apply(
                                   lambda x : check_unique_char(conti_rep_char,
                                                              x))
# show Dataframe
df

输出:

如何使用Regex从给定的Pandas DataFrame的单词中删除重复的字符?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程