2A.data - Pandas et itérateurs#
Links: notebook
, html, python
, slides, GitHub
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 ?
from jyquickhelper import add_notebook_menu
add_notebook_menu()
from sklearn.datasets import load_iris
data = load_iris()
import pandas
df = pandas.DataFrame(data.data)
df.column = "X1 X2 X3 X4".split()
df["target"] = data.target
df.head()
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 |
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…