Come creare un pandas dataframe da una stringa


È possibile utilizzare la seguente sintassi di base per creare un DataFrame panda da una stringa:

 import pandas as pd
import io   

df = pd. read_csv ( io.StringIO (string_data), sep=" , ")

Questa particolare sintassi crea un DataFrame panda utilizzando i valori contenuti nella stringa denominata string_data .

Gli esempi seguenti mostrano come utilizzare questa sintassi nella pratica.

Esempio 1: creare un DataFrame da una stringa con separatori di virgole

Il codice seguente mostra come creare un DataFrame panda da una stringa in cui i valori della stringa sono separati da virgole:

 import pandas as pd
import io

#define string
string_data="""points, assists, rebounds
5, 15, 22
7, 12, 9
4, 3, 18
2, 5, 10
3, 11, 5
"""

#create pandas DataFrame from string
df = pd. read_csv ( io.StringIO (string_data), sep=" , ")

#view DataFrame
print (df)

   points assists rebounds
0 5 15 22
1 7 12 9
2 4 3 18
3 2 5 10
4 3 11 5

Il risultato è un DataFrame Panda con cinque righe e tre colonne.

Esempio 2: creare un DataFrame da una stringa con separatori punto e virgola

Il codice seguente mostra come creare un DataFrame panda da una stringa in cui i valori della stringa sono separati da punto e virgola:

 import pandas as pd
import io

#define string
string_data="""points;assists;rebounds
5;15;22
7;12;9
4;3;18
2;5;10
3;11;5
"""

#create pandas DataFrame from string
df = pd. read_csv ( io.StringIO (string_data), sep=" ; ")

#view DataFrame
print (df)

   points assists rebounds
0 5 15 22
1 7 12 9
2 4 3 18
3 2 5 10
4 3 11 5

Il risultato è un DataFrame Panda con cinque righe e tre colonne.

Se hai una stringa con un separatore diverso, usa semplicemente l’argomento sep nella funzione read_csv() per specificare il separatore.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Come convertire le colonne Pandas DataFrame in stringhe
Come convertire il timestamp in data/ora in Pandas
Come convertire DateTime fino ad oggi in Panda

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *