Как убрать повторяющиеся буквы в кадре данных? - PullRequest
0 голосов
/ 14 мая 2019

У меня есть следующая строка:

"hello, I'm going to eat to the fullest today hhhhhhhhhhhhhhhhhhhhh"

Я собрал много таких твитов и назначил их на фрейм данных. Как я могу очистить эти строки в кадре данных, удалив «hhhhhhhhhhhhhhhhhh» и оставив только оставшуюся часть строки в этой строке?

Позже я также использую countVectorizer, так что было много словарей, содержащих 'hhhhhhhhhhhhhhhhhhhhhh'

Ответы [ 2 ]

2 голосов
/ 14 мая 2019

Использование Regex.

Ex:

import pandas as pd

df = pd.DataFrame({"Col": ["hello, I'm going to eat to the fullest today hhhhhhhhhhhhhhhhhhhhh", "Hello World"]})
#df["Col"] = df["Col"].str.replace(r"\b(.)\1+\b", "")
df["Col"] = df["Col"].str.replace(r"\s+(.)\1+\b", "").str.strip()
print(df)

Выход:

                                             Col
0  hello, I'm going to eat to the fullest today 
1                                    Hello World
1 голос
/ 14 мая 2019

Вы можете попробовать это:

df["Col"] = df["Col"].str.replace(u"h{4,}", "")

Где вы можете установить количество символов для совпадения в моем случае 4.

                                        Col
0  hello, I'm today hh hhhh hhhhhhhhhhhhhhh
1                               Hello World
                     Col
0  hello, I'm today hh  
1            Hello World

Я использовал сопоставление Юникод, так как вы упомянули васв твиттере.

...