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

Calcul scientifique Python Discussion :

probléme de temps d'exécution


Sujet :

Calcul scientifique Python

  1. #1
    Membre du Club
    Femme Profil pro
    Ergonome
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Points : 43
    Points
    43
    Par défaut probléme de temps d'exécution
    Bonjour

    je veux réduire le temps d'exécution d'un programme que je viens d'écrire ,
    j'ai deux bases de données une trés grande qui a comme variable latitude longitude et le nombre de points pour chaque lat lon et une un extrait de la premiere et je veux avoir le pourcentage pour chaque lat lon de la deuxieme et dessiner ça sur une carte


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    m = plt.figure(figsize=(15,10))
    m = Basemap(projection='cyl',resolution='c')
    z={}
    for i in range(len(lats_1)):
        for j in range(len(lats)): 
            if (lats_1[i]==lats[j] and lons_1[i]==lons[j]):
               k=sig0_1[i]      
               d=sig0[j]
               z=k/d
               m.scatter(lons_1[i], lats_1[i], c=z, s=3,lw=0)
    m.fillcontinents()
    plt.colorbar()  
    plt.show()
    Merci de me répondre

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par fafa isfan Voir le message
    je veux réduire le temps d'exécution d'un programme que je viens d'écrire
    Pour aller plus vite, il faut faire moins d'itérations et/ou diviser le travail entre plusieurs processeurs.
    "faire moins d'itérations" est possible. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in range(len(lats_1)):
        for j in range(len(lats)): 
            if (lats_1[i]==lats[j] and lons_1[i]==lons[j]):
               ....
    on peut supposer que la condition est vraie pour un seul (i, j) et donc ajouter "break" pour éviter les comparaisons suivantes.
    Après il faut travailler sur les données: si lats et lats_1 étaient des listes rangées par ordre croissant par exemple...

    Enfin lorsqu'on ne peut plus réduire, on répartit le boulot.

    Dans la pratique, c'est un boulot de conception: il faut étudier les particularités du problème et trouver une solution sur le papier avant de coder quoi que ce soit. Et pas grand monde va pouvoir le faire à votre place.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Femme Profil pro
    Ergonome
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Points : 43
    Points
    43
    Par défaut
    Merci pour votre réponse

  4. #4
    Membre du Club
    Femme Profil pro
    Ergonome
    Inscrit en
    Février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Février 2016
    Messages : 53
    Points : 43
    Points
    43
    Par défaut
    moi je me suis dis peut être y'a une maniére de faire la chose avec pandas plus rapide que les boucles

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par fafa isfan Voir le message
    moi je me suis dis peut être y'a une maniére de faire la chose avec pandas plus rapide que les boucles
    Peut être que oui, peut être que non...
    En tous cas, rien de magique sans partir de vos données et de leur organisation.
    Autre exemple, plutôt qu'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in range(len(lats_1)):
        for j in range(len(lats)): 
            if (lats_1[i]==lats[j] and lons_1[i]==lons[j]):
               ....
    Vous pourriez stocker les lats_1 (les plus nombreux) dans une base de données et supprimer la boucle externe en recherchant sur (lat, lon) dans la base.
    note: vous pouvez aussi faire cela avec pandas si vous voulez mais il faut quand même connaître la structure des données (et pandas) pour voir si c'est applicable et comment. Un simple dict pourrait aussi faire l'affaire.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Admin] Problème de temps d'exécution d'un rapport Webi
    Par zaza78 dans le forum Administration-Migration
    Réponses: 7
    Dernier message: 28/09/2010, 10h58
  2. Réponses: 1
    Dernier message: 28/09/2009, 08h30
  3. Problème de temps d'exécution aléatoire
    Par ouis dans le forum SQL
    Réponses: 4
    Dernier message: 04/09/2008, 09h55
  4. [SqlServer2000] Problème de temps d'exécution d'une proc stock
    Par GuillaumeBibaut dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 20/11/2006, 14h31
  5. [SQL] Problème de temps d'exécution maximum
    Par manshoon dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/05/2006, 14h07

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