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 :

problemes avec scipy


Sujet :

Calcul scientifique Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut problemes avec scipy
    bonjour
    je suis novice en python et j'aimerai ecrire un script integrant un fichier csv en tableau puis faire des calculs de distances type euclidean.

    j'ai rencontre différents problèmes dont le dernier, après l'installation de scipy 0.7 ( pour pouvoir reconnaitre la librairy scipy.spatial.distance), apres l'installation de ce module il n'arrive plus a lire io-array alors que sous la version 0.6 de scipy cela fonctionnait.
    pouvez vous m'aider pour trouver les modules adéquates pour calculer a la fois io-array et scipy.spatial.distance.euclidean
    merci d'avance!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau = io.array_import.read_array(sys.argv[1])
    message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "./calculAD", line 9, in <module>
        tableau = io.array_import.read_array(sys.argv[1])
    NameError: name 'io' is not defined

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il ne connaît pas le module io, as-tu bien fait from scipy import io ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    non, la version scipy 0,7 ne reconnais pas io mais est reconnue par la version 0,6

    j'ai mis cette version car je voulais la librairie spatial.distance qui n'est reconnue par aucune des deux versions

    une idée d'où pourrait venir mon problème??

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    oui j'ai bien fais : from scipy import *

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    from scipy import * n'est pas la bonne méthode.
    Fais plutôt des from scipy import io.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    Merci!!!
    maintenant le probleme io est resolu mais il me reste le probleme avec les spatial.distance
    dans mon code les spatial.distance ne sont pas reconnues
    faut il importer un paquet specifique de scipy?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "./calculAD", line 21, in <module>
        d = euclidean(u, v)
    NameError: name 'euclidean' is not defined

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Si tu donnes plus d'infos, ça ira mieux. De manière générale, from XXX import *, c'est pas bon, donc fais un import explicite de la fonction que tu veux.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 63
    Par défaut
    Je rebondis sur ton affirmation : from xxx import * c'est pas bon. Pourquoi ?
    Je commence toujours mes programmes sous scipy par from scipy import *
    pour pouvoir faire appel à l'ensemble des fonctions de base de scipy sans devoir dire explicitement schtroumpf.arange() ou xxx.dot() etc... Je veux bien croire que ça prend un peu plus de temps au chargement, mais à part ça quels sont les inconvénients ?

  9. #9
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Parce que tu ne sais pas ce que tu importes (et tu n'importes pas tout).
    Sur les dernières versions de scipy, il n'y a plus d'import automatique des sous-modules.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    J'ai essayé d'importer seulement la partie qui m'intéressait mais pas plus de reussite...

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Il va falloir plus que ça pour qu'on résolve ton problème. Donne nous un mini script qui reproduit le problème.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 15
    Par défaut
    j'ai résolu le problème en réinstallant la version scipy précédente et maintenant le module oi.array remarche

    merci!

  13. #13
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Citation Envoyé par 20100. Voir le message
    from xxx import * c'est pas bon.
    C'est un problème de portée. Prenons l'exemple des fonctions split et join, qui sont présentes à la fois dans os.path et dans string. Avec une importation du style
    c'est les fonctions du dernier module importé qui seront appelées par split ou join. Par contre avec une importation correcte ce problème est résolu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os.path
    import string
    print string.join(['got', 'from', 'string'], '.')
    print os.path.join('disk', 'level1', 'level2', 'filename')

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    En même temps, string est déprécié et à ne plus utiliser

  15. #15
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Il n'y a apparemment que des fonctions très précises qui sont dépréciées:

    atof
    atoi
    atol

    Pour les autres fonctions, je ne vois aucune raison de ne pas les utiliser. Des fonctions de remplacement existent? Je pense à split, join, upper, lower etc... que j'utilise souvent.

  16. #16
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Oui, toutes ces fonctions sont remplacées par les méthodes.

    "".split(), "".join(), ...

  17. #17
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Ok, vu. Merci beaucoup.

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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