J'ai écrit un
blog
il y a presqu'un mois à propos d'une classe permettant d'effectuer rapidement
des opérations sur une table, de faire des jointures, de regrouper
les données un peu à la manière du langage SQL. Je pensais ajouter à la classe
quelques notions de statistiques et des graphes mais je me suis aperçu
qu'il existe des modules qui ont l'air de faire ça très bien :
- pandas ou
Python Data Analysis Library, le module utilise
le module numpy, mais il autorise
l'utilisation de données textuelles. Il permet différentes opérations entre
tables telles que groupby, join, union.
L'auteur du module a pensé
à faire le pont avec R. Le module
a l'air assez bien pensé pour les séries temporelles, les données manquantes,
les dates, les lissages. Le module autorise la lecture d'une table depuis
une table sqlite (tables qu'on peut
regarder en utilisant
SQLiteSpy)
ou toute autre base de données accessibles via une connexion.
Un module permet de dessiner aisément des graphes via
matplotlib.
- Statsmodels, ce module utilise
le précédent. Il reprend différents traitements statistiques, principalement
linéaire, quelques tests statistiques. Cela dit, je ne vois pas trop
l'intérêt de tout réimplémenter. Je préférerais un pont bien conçu entre Python
et R dont je n'aime toujours pas la syntaxe
mais qui reste la référence. C'est plutôt la direction que je choisirais,
écrire en Python le code R dont je ne veux pas me souvenir.