Quiero eliminar las URL de una columna en un marco de datos. La columna que me interesa se llama comentario, y la entrada de ejemplo en comentario es:
|comment | |:--------------------------------------:| | """Drone Strikes Up 432 Percent Under. | |Donald Trump"" by Joe Wolverton, II, | |JD | |<a | |href=""https://www.thenewamerican.com/ | |usne | |ws/foreign-policy/item/25604-drone- | |strikes-up-432-percent-under-donald- | |trump"" | |title=""https://www.thenewamerican.com/ | |usn | |ews/foreign-policy/item/25604-drone- | |strikes-up-432-percent-under-donald- | |trump"" | |target=""_blank"">https://www.thenewamer| |c | |an.com/usnews/foreign-policy/item/25604-| |drone-st...</a><br/>""Trump is weighing | | major escalation in Yemen's devastating| |war<br/>The war has already killed at | |least 10,000, displaced 3 million, and. | |left millions more at risk of famine."" | |<br/>" |Esta entrada anterior muestra el problema que estoy tratando de resolver. Quiero eliminar por completo:
<a href=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" title=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" target=""_blank"">https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-st...</a>He intentado:
df['comment'] = df['comment'].replace(r'https\S+', ' ', regex=True).replace(r'www\S+', ' ', regex=True).replace(r'http\S+', ' ', regex=True)Sin embargo, esto le gusta conmigo en
href title targetblank comProbar:
df['comment'] = df['comment'].str.replace('<a\s[^>]*.*?<\/a>', '')Producción:
>>> df.loc[0, 'comment'] 'Drone Strikes Up 432 Percent Under. Donald Trump"" by Joe Wolverton, II, JD <br/>""Trump is weighing major escalation in Yemen\'s devastating war<br/>The war has already killed at least 10,000, displaced 3 million, and. left millions more at risk of famine."" <br/>'Puede intentar realizar una sustitución usando una expresión regular, use re.sub .
Por ejemplo:
import re s = """Drone Strikes Up 432 Percent Under. Donald Trump"" by Joe Wolverton, II, JD <a href=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" title=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" target=""_blank"">https://www.thenewamerc an.com/usnews/foreign-policy/item/25604-drone-st...</a><br/>""Trump is weighing major escalation in Yemen's devastating war<br/>The war has already killed at least 10,000, displaced 3 million, and. left millions more at risk of famine."" <br/>""" print(re.sub('<a\s[^>]*.*?<\/a>', '', s)) En tu caso, puedes usar .applay para lograr tu objetivo:
import re import pandas as pd df = pd.DataFrame({'comment': ["Drone Strikes Up 432 Percent Under. Donald Trump"" by Joe Wolverton, II, JD <a href=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" title=""https://www.thenewamerican.com/usnews/foreign-policy/item/25604-drone-strikes-up-432-percent-under-donald-trump"" target=""_blank"">https://www.thenewamerc an.com/usnews/foreign-policy/item/25604-drone-st...</a><br/>""Trump is weighing major escalation in Yemen's devastating war<br/>The war has already killed at least 10,000, displaced 3 million, and. left millions more at risk of famine."" <br/>"""]}) df['comment'] = df['comment'].apply(lambda x: re.sub('<a\s[^>]*.*?<\/a>', '', x)) print(df)