English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Opérations IO Pandas

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

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

Index personnalisé

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

Convertisseur

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

Noms des en-têtes

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

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