English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Esempi di operazioni di IO di Pandas
Le due principali funzioni per leggere file di testo sono read_csv() e read_table(). Entrambi utilizzano lo stesso codice di parsing per convertire i dati tabellari in oggetti DataFrame in modo intelligente:
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None
Salva questo dati come temp.csv e lavora su di essi.
S.No,Nome,Età,Città,Stipendio 1,Tom,28,Toronto,20000 2,Lee,32,HongKong,3000 3,Steven,43,Bay Area,8300 4,Ram,38,Hyderabad,3900
read.csv legge i dati dal file csv e crea un oggetto DataFrame.
import pandas as pd df=pd.read_csv("temp.csv") print df
I risultati dell'esecuzione sono i seguenti:
S.No Nome Età Città Stipendio 0 1 Tom 28 Toronto 20000 1 2 Lee 32 HongKong 3000 2 3 Steven 43 Bay Area 8300 3 4 Ram 38 Hyderabad 3900
Questo specifica una colonna nel file csv per utilizzare index_col per definire l'indice.
import pandas as pd df=pd.read_csv("temp.csv",index_col=['S.No']) print df
I risultati dell'esecuzione sono i seguenti:
S.No Nome Età Città Stipendio 1 Tom 28 Toronto 20000 2 Lee 32 HongKong 3000 3 Steven 43 Bay Area 8300 4 Ram 38 Hyderabad 3900
Il dtype delle colonne può essere trasmesso come dict.
import pandas as pd df = pd.read_csv("temp.csv", dtype={'Salary': np.float64}) print df.dtypes
I risultati dell'esecuzione sono i seguenti:
S.No int64 Name object Age int64 City object Salary float64 dtype: object
Di default, il dtype della colonna Salary è int, ma viene visualizzato come float perché abbiamo chiarito di convertire il tipo. Pertanto, i dati sembrano float.
Di conseguenza, i dati sembrano float -
S.No Name Age City Salary 0 1 Tom 28 Toronto 20000.0 1 2 Lee 32 HongKong 3000.0 2 3 Steven 43 Bay Area 8300.0 3 4 Ram 38 Hyderabad 3900.0
L'uso del parametro names per specificare i nomi delle intestazioni.
import pandas as pd df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e']) print df
I risultati dell'esecuzione sono i seguenti:
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 HongKong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
Si prega di notare che il nome dell'intestazione è seguito da un nome personalizzato, ma l'intestazione nel file non è stata ancora rimossa. Ora, la rimuoviamo utilizzando il parametro header.
Sebbene il titolo non sia nella prima riga, viene trasmesso il numero di riga al titolo. Questo salta le righe precedenti.
import pandas as pd df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0) print df
I risultati dell'esecuzione sono i seguenti:
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 HongKong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
skiprows salta il numero di righe specificato.
import pandas as pd df=pd.read_csv("temp.csv", skiprows=2) print df
I risultati dell'esecuzione sono i seguenti:
2 Lee 32 HongKong 3000 0 3 Steven 43 Bay Area 8300 1 4 Ram 38 Hyderabad 3900