How to replace a pattern in a string?
Hi I am trying to replace all the expressions containing 'www...' and 'http://..' with just 'URL'. I tried this but I am getting this error. TypeError: expected string or buffer My code is: df['text_1'] = re.sub('((www\.[^\s]+)|(https?://[^\s]+))','URL',df['text']) df[text] contains tweets, so I want to keep only the text in there. I am in Python 2 Thanks.
Assuming df is a pandas DataFrame, don't use re.sub. Use pandas.DataFrame.replace instead: df['text_1'] = df['text'].replace('((www\.[^\s]+)|(https?://[^\s]+))', 'URL', regex=True) This will generate a new column text_1 with all values of text replaced according to your regular expression.
It sounds like you're getting that error because you're not supplying a string or buffer as the third argument to re.sub. >>> re.sub('\W', 'REPLACED', 'this is my text') 'thisREPLACEDisREPLACEDmyREPLACEDtext' >>> re.sub('\W', 'REPLACED', None) Traceback (most recent call last): ... TypeError: expected string or buffer Ensure that df['text'] contains a proper string before you try using it for re.sub
BeautifulSoup crawling cookies
Selenium get_screenshot_as_file vs get_screenshot_as_base64?
How to print or store a selected column using pandas
make sphinx viewcode show module sources
Strategies for HTML processing in Python: Ambiguous Characters
Detect Audio with Selenium Webdriver and Python
Python scripting for NetLogo?
Python: input file is output file
glcoud auth login doesn't ask for verification code
python - going from a stack trace to a tree
Python r Preceding Quoted Windows Registry Key
Python cannot ssh to a server and print the expected output using subprocess
Python variable can not be same name as function it is calling like it is possible in PHP? [closed]
Setting path to firefox binary on windows with selenium webdriver
How to determine what value a variable is assigned to [closed]
Compress an array in python?