.. _pandasiteratorrst: ============================== 2A.data - Pandas et itérateurs ============================== .. only:: html **Links:** :download:`notebook `, :downloadlink:`html `, :download:`python `, :downloadlink:`slides `, :githublink:`GitHub|_doc/notebooks/td2a/pandas_iterator.ipynb|*` `pandas `__ a tendance a prendre beaucoup d’espace mémoire pour charger les données, environ trois fois plus que sa taille sur disque. Quand la mémoire n’est pas assez grande, que peut-on faire ? .. code:: ipython3 from jyquickhelper import add_notebook_menu add_notebook_menu() .. contents:: :local: .. code:: ipython3 from sklearn.datasets import load_iris data = load_iris() .. code:: ipython3 import pandas df = pandas.DataFrame(data.data) df.column = "X1 X2 X3 X4".split() df["target"] = data.target df.head() .. raw:: html
0 1 2 3 target
0 5.1 3.5 1.4 0.2 0
1 4.9 3.0 1.4 0.2 0
2 4.7 3.2 1.3 0.2 0
3 4.6 3.1 1.5 0.2 0
4 5.0 3.6 1.4 0.2 0
.. code:: ipython3 df.to_csv("iris.txt", sep="\t", index=False) Exercice 1 : itérer sur un grand fichier ---------------------------------------- A quoi sert le paramètre *iterator* de la fonction `read_csv `__ ? Comment s’en servir pour lire un grand fichier ? Exercice 2 : split train test ----------------------------- Utiliser les fonctions `read_csv `__ et `train_test_split `__ pour répartir un gros jeu de données en deux jeux train, test. Exercice 3 : stratify ? ----------------------- Que dire à propos de la fonction précédente du paramètre *stratify* de la fonction `train_test_split `__ ? Exercice 4 : quelques idées pour un group by ? ---------------------------------------------- Toujours sur un gros fichier…