removing newlines from messy strings in pandas dataframe cells?

Posted on

Question :

removing newlines from messy strings in pandas dataframe cells?

I’ve used multiple ways of splitting and stripping the strings in my pandas dataframe to remove all the ‘n’characters, but for some reason it simply doesn’t want to delete the characters that are attached to other words, even though I split them. I have a pandas dataframe with a column that captures text from web pages using Beautifulsoup. The text has been cleaned a bit already by beautifulsoup, but it failed in removing the newlines attached to other characters. My strings look a bit like this:

“hands-onndevelopment of games. We will study a variety of software technologiesnrelevant to games including programming languages, scriptingnlanguages, operating systems, file systems, networks, simulationnengines, and multi-media design systems. We will also study some ofnthe underlying scientific concepts from computer science and relatednfields including”

Is there an easy python way to remove these “n” characters?

Thanks in advance!

Asked By: Calvin


Answer #1:

EDIT: the right answer to this was:

df = df.replace(r'\n',' ', regex=True) 

I think you need replace:

df = df.replace('n','', regex=True)


df = df.replace('n',' ', regex=True)


df = df.replace(r'\n',' ', regex=True)


text = '''hands-onndev nologiesnrelevant scriptingnlang
df = pd.DataFrame({'A':[text]})
print (df)
0  hands-onndev nologiesnrelevant scriptingnla...

df = df.replace('n',' ', regex=True)
print (df)
0  hands-on dev nologies relevant scripting lang 
Answered By: jezrael

Answer #2:

in messy data it might to be a good idea to remove all whitespaces df.replace(r's', '', regex = True, inplace = True).

Answered By: Pawel Piela

Answer #3:

df.replace(to_replace=[r"\t|\n|\r", "t|n|r"], value=["",""], regex=True, inplace=True)

worked for me.


Answered By: LinuxUser

Answer #4:

   df = 'Sarah Marie Wimberly So so beautiful!!!nAbram Staten You guys look good man.nTJ Sloan I miss you guysn'

   df = df.replace(r'\n',' ', regex=True)

This worked for the messy data I had.

Leave a Reply

Your email address will not be published. Required fields are marked *