Risolto Python / Pulizia Dataframe / Dati Twitter

valo83

Utente Iron
26 Novembre 2021
30
8
1
14
Ciao a tutti,

sono alla primissime armi.
Sto cercando di pulire un dataframe di dati presi con un tool di scraping da twitter.

Schermata 2021-11-26 alle 17.31.13.png


Per pulizia dati vorrei togliere tutto quello tra <a href=> e poi </a>.

Qualcuno può aiutarmi?

Grazie mille
 
Fa abbastanza pietà, ma importando il modulo re potresti fare una cosa di questo tipo:
Python:
[ re.sub('<[^\>]*>', '', s) for s in dati_raw['Device'].value_counts() ]

Meglio ancora se cerchi una libreria che fa il parsing dell'XML, almeno se c'è qualche parentesi angolare all'interno del testo utile non hai valori sballati.

EDIT: non proprio value_counts() immagino, ma non ho il tuo codice e non so esattamente cosa restituisce quel dati_raw['Device'].
 
Fa abbastanza pietà, ma importando il modulo re potresti fare una cosa di questo tipo:
Python:
[ re.sub('<[^\>]*>', '', s) for s in dati_raw['Device'].value_counts() ]

Meglio ancora se cerchi una libreria che fa il parsing dell'XML, almeno se c'è qualche parentesi angolare all'interno del testo utile non hai valori sballati.

EDIT: non proprio value_counts() immagino, ma non ho il tuo codice e non so esattamente cosa restituisce quel dati_raw['Device'].
è una semplicisso dataframe in csv di dati da twitter.
Nella colonna Device ci sono i tipi di device utilizzati per i tweets.
Di fatto sarebbe solo un:
1. carico un csv
2. considero solo la colonna Device
3. nella colonna Device, prima della prima > cancello
4. nella colonna Device, dopo la prima < cancello
5. riunisco
 
il primo codice che mi hai suggerito funziona per bene, ma non penso di aver capito bene la sintassi.

Se voglio ridurre da:

[Photo(previewUrl='https://pbs.twimg.com/media/Es6TGVuWMAQwm92?format=jpg&name=small', fullUrl='https://pbs.twimg.com/media/Es6TGVuWMAQwm92?format=jpg&name=large')]

a:

Photo

come posso fare?
 
Ultima modifica:
Ah, lol. Adesso ho capito cosa intendi. Pensavo che avessi sbagliato a caricare lo screenshot.

Ti basta cambiare la regex. Se non ne hai poche puoi anche chiedere aiuto sul forum e bene o male qualcuno che sa cosa scriverci dentro lo trovi e se vuoi essere indipendente (meglio!) studiati le regular expression in python. Le regex in python sono simili alle regex in tutti gli altri linguaggi di programmazione, derivano da quelle del Perl.
Python:
dati_raw02['Media'].apply(lambda s: re.sub('\[Photo\(.*\)\]', 'Photo', s))
 
grazie mille in anticipo
Messaggio unito automaticamente:

Ah, lol. Adesso ho capito cosa intendi. Pensavo che avessi sbagliato a caricare lo screenshot.

Ti basta cambiare la regex. Se non ne hai poche puoi anche chiedere aiuto sul forum e bene o male qualcuno che sa cosa scriverci dentro lo trovi e se vuoi essere indipendente (meglio!) studiati le regular expression in python. Le regex in python sono simili alle regex in tutti gli altri linguaggi di programmazione, derivano da quelle del Perl.
Python:
dati_raw02['Media'].apply(lambda s: re.sub('\[Photo\(.*\)\]', 'Photo', s))
Ora ho capito che cercare.