IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Pandas en temps réel


Sujet :

Python

  1. #1
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 314
    Points : 204
    Points
    204
    Par défaut Pandas en temps réel
    Bonjour à tous,

    Juste une petite question, à priori id..., en ce dimanche matin. Je suis sur pandas 1.5 avec Python 3.10.

    Cela fait quelques temps que j'utilise pandas pour faire des "rendus" l'activité de mon entreprise. Mais à ce stade j'utilise des jeux de données fixes, issues de BDD sql ou d'exports en csv.

    Mais est-il possible d'utiliser Pandas pour une analyse en temps réel ? Ou bien faut-il utiliser autre chose en complément ou seul ?

    JE vous remercie de vos avis.

    Bonne journée

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Bonjour

    A la base il faudrait que tu définisses comment tu conçois une "analyse en temps réel". Analyse de quoi? De données entrantes? Mais entrantes sur où? Un port réseau?

    Si l'idée est juste "je lis un flux et je l'analyse" alors pas de souci. Il te faut juste utiliser une lib permettant de "lire" le périphérique contenant le flux puis tu entres ce flux dans pandas et roule. Si par exemple tu lis un port réseau alors il faut passer par des sockets. Si tu lis un pipe alors la librairie subprocess. Et etc. Et là le MVC entre en jeu (tu crées autant de fonctions de lectures différentes que tu as de périphériques possibles [=> la vue] ; puis tu crées une interface unique "getData()" utilisant la fonctionX ou Y selon le périphérique attendu et ton programme n'utilise que cette interface unique getData() pour récupérer les datas sans se préoccuper de où elles seront réellement prises).

    Mais si intervient en plus une contrainte de "vitesse d'analyse" (parce que c'est ça le "temps réel" : faire en sorte que le si on veut simuler une tuile tombant d'un toit, les calculs doivent être terminés avant que la tuile n'arrive au sol) alors tu restes limité par la vitesse de Python, de pandas et de ton OS.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 351
    Points : 36 875
    Points
    36 875
    Par défaut
    Salut,

    Citation Envoyé par FadeToBlack Voir le message
    Mais est-il possible d'utiliser Pandas pour une analyse en temps réel ? Ou bien faut-il utiliser autre chose en complément ou seul ?
    A la base, cela suppose pouvoir ajouter/supprimer une ou plusieurs lignes d'un tableau pandas en fonction de ce qu'on récupère lorsque... ou toutes les ... secondes: il suffit de mettre le code "autour" pour le faire... et ce code à mettre autour sortira d'une étape de conception (formelle ou coin de table).
    Est-ce que des bouts du code à mettre autour est déjà disponible dans des bibliothèques? Probablement tout ou partie. Ce sont aux arbitrages de l'étape de conception de dire on va utiliser çà comme çà ou on va créer çà pour...

    - W

  4. #4
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 314
    Points : 204
    Points
    204
    Par défaut
    Re bonjour,

    En relisant mon message, j'ai effectivement pas été super clair. Quand je disais "temps réel", c'était surtout en opposition à un dataset fixe et définitif.

    Mon écart de temps entre deux récupération d'info, peut aller de quelques secondes à quelques heures au maximum. Je suis pas sur du milliseconde.

    Dans ce que je dois faire, il y a évidemment des process qui se font une fois par semestre. Mais d'autres, demanderaient une périodicité nettement plus importante. Je me faisais surtout la réflexion par rapport à une app' du style grafana... voir la suite ELK.
    Mais si à votre avis, je peux jouer le tout avec Pandas et bokeh cela me va, car les deux précédente, je n'y ai jamais touché.

  5. #5
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 205
    Points : 4 679
    Points
    4 679
    Par défaut
    bonjour

    Donc en fait tu recherches un framework pour faire un tableau de bord dynamique (exemple ou bokeh) ? et pas une solution pour récupérer/exploiter tes datas "en simili temps réel"

    Mais à ce stade j'utilise des jeux de données fixes, issues de BDD sql
    pas clair pour moi, car normalement les DB sont à jour ...

  6. #6
    Membre actif Avatar de FadeToBlack
    Homme Profil pro
    ...
    Inscrit en
    Août 2010
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : ...
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Août 2010
    Messages : 314
    Points : 204
    Points
    204
    Par défaut
    En fait, il va y avoir plusieurs types d'usages. Certaines du genre stats de bases, mais avec quelques manipulation de données dans le DF. Comme par exemple créer une série qui va calculer le TTC à partir du pric hors taxe * TVA. etc.... etc/.... et faire deux trois graphes, histoires de rendre les choses joli. UN reporting assez classique.

    Et puis, il va y avoir une sorte de traitement qui, effectivement se rapproche plus du dashboard. CEla devrait être un truc du genre :
    Le fichier X est copié sur le serveur Alpha; il est en cours de traitement.
    Le fichier X est traité et copié suir le serveur beta.
    le Fihcier X est traité et copié sur le serveur Gamma pour achivage.

    etc... etc...

    Cela peut se faire avec ELK et grafana et peut être effectivement avec dash (je vais lire plus en détails). Mais je me demandais surtour si je pouvais tout faire avec pandas pour ne pas à avoir à me disperser dans plusieurs appli.
    Mais peut être pas très judicieux de ma part, et mieux vaudrait utiliser une techno pour chaque besoin.....

  7. #7
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Points : 718
    Points
    718
    Par défaut
    Voici un article sur des alternatives à Pandas:

    Belle semaine.



    I dislike Pandas, the library.

    Pandas cannot handle more than a few GB of data.

    I am not the only one, even the creator Wes McKinney thinks so.

    In his talk "10 things I hate about Pandas," he describes 11 reasons he does not like Pandas:

    1. Internals too far from "the metal"
    2. No support for memory-mapped datasets
    3. Poor performance in database and file ingest / export
    4. Warty missing data support
    5. Lack of transparency into memory use, RAM management
    6. Weak support for categorical data
    7. Complex group by operations awkward and slow
    8. Appending data to a DataFrame tedious and very costly
    9. Limited, non-extensible type metadata
    10. Eager evaluation model, no query planning
    11. "Slow", limited multicore algorithms for large datasets

    Instead of using Pandas (or you do not know #spark framework with or #pyspark), use these suggested packages.

    👉Dask: a low-level scheduler and a high-level partial Pandas replacement, geared toward running code on compute clusters.

    👉Ray: a low-level framework for parallelizing Python code across processors or clusters.

    👉Modin: a drop-in replacement for Pandas, powered by either Dask or Ray.

    👉Vaex: a partial Pandas replacement that uses lazy evaluation and memory mapping to allow developers to work with large datasets on standard machines.

    👉RAPIDS: a collection of data-science libraries that run on GPUs and include cuDF, a partial replacement for Pandas.

    👉Polars: a blazingly fast DataFrames library implemented in Rust using Apache Arrow Columnar Format as the memory model.

Discussions similaires

  1. Mise à jour en temps réel de la base de données
    Par Clotilde dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/06/2004, 22h09
  2. [MFC] graphique temps réel
    Par _Thomas_ dans le forum MFC
    Réponses: 10
    Dernier message: 01/06/2004, 11h56
  3. Voir requête éxécuté en temps réel ?
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/01/2004, 14h52
  4. cubes temps réel en ROLAP
    Par Guizz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 09/07/2003, 16h36
  5. Durée d'un traitement temps réel
    Par Almex dans le forum C
    Réponses: 5
    Dernier message: 29/03/2003, 14h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo