Pandas Python - Outils IO

le Pandas I/O API est un ensemble de fonctions de lecteur de haut niveau accessibles comme pd.read_csv() qui renvoient généralement un objet Pandas.

Les deux fonctions performantes de lecture des fichiers texte (ou des fichiers plats) sont read_csv() et read_table(). Ils utilisent tous les deux le même code d'analyse pour convertir intelligemment les données tabulaires en unDataFrame objet -

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

Voici comment le csv les données du fichier ressemblent à -

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

Enregistrez ces données sous temp.csv et mener 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

Enregistrez ces données sous temp.csv et mener des opérations dessus.

read.csv

read.csv lit les données des fichiers csv et crée un objet DataFrame.

import pandas as pd

df=pd.read_csv("temp.csv")
print df

Ses output est comme suit -

S.No     Name   Age       City   Salary
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

index personnalisé

Ceci spécifie une colonne dans le fichier csv pour personnaliser l'index à l'aide de index_col.

import pandas as pd

df=pd.read_csv("temp.csv",index_col=['S.No'])
print df

Ses output est comme suit -

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

Convertisseurs

dtype des colonnes peuvent être passées comme dict.

import pandas as pd

df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print df.dtypes

Ses output est comme suit -

S.No       int64
Name      object
Age        int64
City      object
Salary   float64
dtype: object

Par défaut, le dtype de la colonne Salaire est int, mais le résultat le montre comme float car nous avons explicitement casté le type.

Ainsi, les données ressemblent à 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

header_names

Spécifiez les noms de l'en-tête à l'aide de l'argument names.

import pandas as pd
 
df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print df

Ses output est comme suit -

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

Remarquez que les noms d'en-tête sont ajoutés avec les noms personnalisés, mais l'en-tête du fichier n'a pas été supprimé. Maintenant, nous utilisons l'argument d'en-tête pour supprimer cela.

Si l'en-tête se trouve dans une ligne autre que la première, transmettez le numéro de ligne à l'en-tête. Cela sautera 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

Ses output est comme suit -

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

skiprows ignore le nombre de lignes spécifié.

import pandas as pd

df=pd.read_csv("temp.csv", skiprows=2)
print df

Ses output est comme suit -

2      Lee   32    HongKong   3000
0   3   Steven   43    Bay Area   8300
1   4      Ram   38   Hyderabad   3900