20 octobre 2019 / Viewed: 6124 / Comments: 0 / Edit
Exemple de comment lire un fichier de données csv avec pandas :
Soit par exemple le fichier csv suivant train.csv (que l'on peut télécharger sur kaggle). Pour lire le fichier il existe la fonction pandas read_csv():
>>> import pandas as pd
>>> data = pd.read_csv('train.csv')
Obtenir les dimensions du tableau de données:
>>> data.shape
(1460, 81)
Obtenir le noms des colonnes:
>>> data.columns
Index(['Id', 'MSSubClass', 'MSZoning', 'LotFrontage', 'LotArea', 'Street',
'Alley', 'LotShape', 'LandContour', 'Utilities', 'LotConfig',
'LandSlope', 'Neighborhood', 'Condition1', 'Condition2', 'BldgType',
'HouseStyle', 'OverallQual', 'OverallCond', 'YearBuilt', 'YearRemodAdd',
'RoofStyle', 'RoofMatl', 'Exterior1st', 'Exterior2nd', 'MasVnrType',
'MasVnrArea', 'ExterQual', 'ExterCond', 'Foundation', 'BsmtQual',
'BsmtCond', 'BsmtExposure', 'BsmtFinType1', 'BsmtFinSF1',
'BsmtFinType2', 'BsmtFinSF2', 'BsmtUnfSF', 'TotalBsmtSF', 'Heating',
'HeatingQC', 'CentralAir', 'Electrical', '1stFlrSF', '2ndFlrSF',
'LowQualFinSF', 'GrLivArea', 'BsmtFullBath', 'BsmtHalfBath', 'FullBath',
'HalfBath', 'BedroomAbvGr', 'KitchenAbvGr', 'KitchenQual',
'TotRmsAbvGrd', 'Functional', 'Fireplaces', 'FireplaceQu', 'GarageType',
'GarageYrBlt', 'GarageFinish', 'GarageCars', 'GarageArea', 'GarageQual',
'GarageCond', 'PavedDrive', 'WoodDeckSF', 'OpenPorchSF',
'EnclosedPorch', '3SsnPorch', 'ScreenPorch', 'PoolArea', 'PoolQC',
'Fence', 'MiscFeature', 'MiscVal', 'MoSold', 'YrSold', 'SaleType',
'SaleCondition', 'SalePrice'],
dtype='object')
Option 1:
On peut utiliser l'option usecols pour sélectionner certaines colonnes du fichier csv:
>>> data = pd.read_csv('train.csv',usecols=[1,2,3])
>>> data.shape
(1460, 3)
>>> data.columns
Index(['MSSubClass', 'MSZoning', 'LotFrontage'], dtype='object')
Option 2:
On peut aussi lire le fichier csv et ensuite sélectionner certaines colonnes
>>> data = pd.read_csv('train.csv')
>>> data_sample = data[['SalePrice','BldgType']]
>>> data_sample.shape
(1460, 2)
On peut aussi sauter des lignes en utilisant l'option skiprows. Exemples:
Sauter la première ligne du fichier
>>> data = pd.read_csv('train.csv',skiprows=1)
>>> data.shape
(1459, 81)
Sauter les 5 premières lignes du fichier
>>> data = pd.read_csv('train.csv',skiprows=5)
>>> data.shape
(1455, 81)
On peut aussi supprimer des lignes en démarrant en bas du fichier avec l'option "skipfooter".
>>> data = pd.read_csv('train.csv',skipfooter=10, engine='python')
>>> data.shape
(1450, 81)
Liens | Site |
---|---|
read_csv | pandas.pydata.org |
pandas.DataFrame.head | pandas.pydata.org |
How to select several rows when reading a csv file using pandas? | stackoverflow |
Pandas : skip rows while reading csv file to a Dataframe using read_csv() in Python | thispointer.com |
pandas restricting csv read to certain rows | python-forum |
Select specific CSV columns (Filtering) - Python/pandas | stackoverflow |
Je développe le présent site avec le framework python Django. Je m'intéresse aussi actuellement dans le cadre de mon travail au machine learning pour plusieurs projets (voir par exemple) et toutes suggestions ou commentaires sont les bienvenus !