2017-07-30 1 views
0

J'ai inséré des données dans un fichier pandas. comme l'image suggère comme vous pouvez le voir, il y a des lignes qui contiennent des liens URL, je veux supprimer tous les liens URL et les remplacer par "" (rien que l'effacer) dataframe comme vous pouvez voir la ligne 4 a une URL il y a d'autres lignes aussi qui ont url. je veux passer par toutes les lignes dans la colonne status_message trouver une URL et les supprimer. J'ai regardé ce How to remove any URL within a string in Python mais je ne suis pas sûr de savoir comment l'utiliser sur le dataframe. alors la ligne 4 devrait voter pour le registre du travail maintenant.Supprimer une URL ligne par ligne à partir d'un grand ensemble de texte dans python panda dataframe

Répondre

0

Je pense que vous pourriez faire quelque chose de simple comme

for index,row in data.iterrows(): 
    desc = row['status_message'].lower().split() 
    print ' '.join(word for word in desc if not word.startswith(('www.','http'))) 

aussi longtemps que les urls commencent par "www."

+0

une URL commence par http: ... –

+0

Veuillez tracer une nouvelle question si celui-ci répond à votre question. – Gayatri

0

Vous pouvez utiliser .replace() avec regex pour le faire-à-dire

df = pd.DataFrame({'A':['Nice to meet you www.xy.com amazing','Wow https://www.goal.com','Amazing http://Goooooo.com']}) 
df['A'] = df['A'].replace(r'http\S+', '', regex=True).replace(r'www\S+', '', regex=True) 

Sortie:

 
          A 
0 Nice to meet you amazing 
1      Wow 
2     Amazing 
4

Vous pouvez utiliser str.replace avec le paramètre case=False:

df = pd.DataFrame({'status_message':['a s sd Www.labour.com', 
            'httP://lab.net dud ff a', 
            'a ss HTTPS://dd.com ur o']}) 
print (df) 
      status_message 
0  a s sd Www.labour.com 
1 httP://lab.net dud ff a 
2 a ss HTTPS://dd.com ur o 

df['status_message'] = df['status_message'].str.replace('http\S+|www.\S+', '', case=False) 
print (df) 
    status_message 
0  a s sd 
1  dud ff a 
2  a ss ur o 
+1

Oui, très similaire, une seule différence est - 'case = False' pour la casse insensible. – jezrael

+1

plus un pour 'case = False' – Dark