CommencerCommencer gratuitement

Personnaliser votre importation pandas

Le package pandas est très efficace pour traiter la plupart des problèmes que vous rencontrerez en tant que data scientist lors de l'importation de données, par exemple les commentaires dans les fichiers plats, les lignes vides et les valeurs manquantes (NA ou NaN). Pour conclure ce chapitre, vous allez importer une copie corrompue du jeu de données Titanic titanic_corrupt.txt, qui contient des commentaires après le caractère '#', et qui est séparé par des tabulations.

Les principaux arguments en faveur de la fonction pd.read_csv() sont les suivants :

  • sep définit le délimiteur attendu.

    • Vous pouvez utiliser ',' pour les fichiers séparés par des virgules.

    • Vous pouvez utiliser '\t' pour les fichiers séparés par des tabulations.

  • comment accepte les caractères que les commentaires suivent dans le fichier, indiquant que tout texte commençant par ces caractères doit être ignoré.

  • na_values accepte une liste de chaînes à identifier comme NA/NaN. Par défaut, certaines valeurs sont déjà reconnues comme NA/NaN. En fournissant cet argument, vous obtiendrez des valeurs supplémentaires.

Cet exercice fait partie du cours

Introduction à l'importation de données en Python

Afficher le cours

Instructions

  • Complétez les arguments de pd.read_csv() pour importer titanic_corrupt.txt correctement à l'aide de pandas :

    • sep définit le délimiteur à utiliser et fonctionne de la même manière que l'argument delimiter de np.loadtxt(). Notez que le fichier que vous importez est séparé par des tabulations.

    • comment accepte les caractères que les commentaires suivent dans le fichier, ce qui dans ce cas est '#'.

    • na_values accepte une liste de chaînes à traiter comme NA/NaN, dans ce cas la chaîne 'Nothing'.

  • Exécutez le reste du code pour afficher les premières lignes du DataFrame obtenu et pour tracer l'histogramme de 'Age' des passagers à bord du Titanic.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt

# Assign filename: file
file = 'titanic_corrupt.txt'

# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])

# Print the head of the DataFrame
print(data.head())

# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()
Modifier et exécuter le code