English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exemple d'opération IO Pandas
Les deux principales fonctions pour lire un fichier texte sont read_csv() et read_table(). Ils utilisent tous deux le même code d'analyse pour convertir intelligemment les données tabulaires en objets DataFrame :
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
Enregistrez ces données sous forme de temp.csv et effectuez des opérations dessus.
S.No,Name,Age,City,Salary 1,Tom,28,Toronto,20000 2,Lee,32,HongKong,3000 3,Steven,43,Bay Area,8300 4,Ram,38,Hyderabad,3900
read.csv lit les données du fichier csv et crée un objet DataFrame.
import pandas as pd df=pd.read_csv("temp.csv") print df
Résultat de l'exécution suivant :
S.No Name Age City Salary 0 1 Tom 28 Toronto 20000 1 2 Lee 32 Hong Kong 3000 2 3 Steven 43 Bay Area 8300 3 4 Ram 38 Hyderabad 3900
Cela spécifie une colonne dans le fichier csv pour utiliser index_col pour personnaliser l'index.
import pandas as pd df=pd.read_csv("temp.csv",index_col=['S.No']) print df
Résultat de l'exécution suivant :
S.No Name Age City Salary 1 Tom 28 Toronto 20000 2 Lee 32 Hong Kong 3000 3 Steven 43 Bay Area 8300 4 Ram 38 Hyderabad 3900
Le dtype des colonnes peut être passé en tant que dictionnaire.
import pandas as pd df = pd.read_csv("temp.csv", dtype={'Salary': np.float}64) print df.dtypes
Résultat de l'exécution suivant :
S.No int64 Name objet Age int64 City objet Salary float64 dtype: objet
Par défaut, le dtype de la colonne Salary est int, mais il est affiché comme float, car nous avons explicitement converti le type. Par conséquent, les données semblent être en float.
Ainsi, les données semblent être en float −
S.No Name Age City Salary 0 1 Tom 28 Toronto 20000.0 1 2 Lee 32 Hong Kong 3000.0 2 3 Steven 43 Bay Area 8300.0 3 4 Ram 38 Hyderabad 3900.0
Spécifiez les noms des en-têtes en utilisant le paramètre names.
import pandas as pd df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e']) print df
Résultat de l'exécution suivant :
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 Hong Kong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
Veuillez noter que les noms des en-têtes ont été ajoutés après les noms personnalisés, mais les en-têtes du fichier n'ont pas été supprimés. Maintenant, nous utilisons le paramètre header pour les supprimer.
Si le titre n'est pas dans la première ligne, passez le numéro de ligne au titre. Cela saute les lignes précédentes.
import pandas as pd df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0) print df
Résultat de l'exécution suivant :
a b c d e 0 S.No Name Age City Salary 1 1 Tom 28 Toronto 20000 2 2 Lee 32 Hong Kong 3000 3 3 Steven 43 Bay Area 8300 4 4 Ram 38 Hyderabad 3900
skiprows saute le nombre de lignes spécifié.
import pandas as pd df=pd.read_csv("temp.csv", skiprows=2) print df
Résultat de l'exécution suivant :
2 Lee 32 Hong Kong 3000 0 3 Steven 43 Bay Area 8300 1 4 Ram 38 Hyderabad 3900