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