Python : probème numpy arange
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Python : probème numpy arange



  1. #1
    Biname

    Python : probème numpy arange


    ------

    Salut,
    Nouveau en Python, je n'arrive pas a implémenter le if W<0 : W = 0
    Code:
    import matplotlib.pyplot as plt
    import numpy as np
    #
    def T_cos(jj):
        W = (np.cos(np.pi* jj/(365/2)))
        # if W < 0 : W = 0    # comment implémenter ceci ?
        return (W)
    #
    j = np.arange(1, 366, 1)
    plt.plot(T_cos(j))
    plt.show()
    #
    Ou, compilateur en ligne : http://tpcg.io/_L4NWFA

    Biname

    -----

  2. #2
    umfred

    Re : Python : probème numpy arange

    fait un print(W) tu verras que W n'est un seul nombre mais un np.array 1D
    il faut utiliser np.where
    https://numpy.org/doc/stable/referen...mpy.where.html
    Code:
    import matplotlib.pyplot as plt
    import numpy as np
    #
    def T_cos(jj):
        W = (np.cos(np.pi* jj/(365/2)))
        W=np.where(W<0,0,W)
        return (W)
    #
    j = np.arange(1, 366, 1)
    plt.plot(T_cos(j))
    plt.show()
    #

  3. #3
    pm42

    Re : Python : probème numpy arange

    Et ne pas utiliser des compilos en ligne simplistes mais des IDE notamment les gratuits permet de faire facilement du pas à pas, d'examiner la valeur des variables, de taper pendant un breakpoint des expressions...

  4. #4
    Biname

    Re : Python : probème numpy arange

    Salut,
    Citation Envoyé par umfred Voir le message
    fait un print(W) tu verras que W n'est un seul nombre mais un np.array 1D
    il faut utiliser np.where
    https://numpy.org/doc/stable/referen...mpy.where.html
    Merci
    Oui pour l'array-1, les erreurs renvoyées par l'interpréteur étaient claires !
    Pas pensé à chercher dans numpy !
    J'avais trouvé ceci, un peu lourd :
    Code:
    import matplotlib.pyplot as plt
    import numpy as np
    #
    j = np.arange(1, 366, 1)
    W = j + 0.1           # cree array w(0 à 364), + 0.1 force float 
    print("W[0] = " + str(W[0]))
    for x in range (0,365):
        a = np.cos(np.pi* x/(365/2))
        if a > 0:        a = 0
        W[x] = a
    #
    plt.plot(W)
    plt.show()
    Avec numpy, il faut utiliser numpy !

    Biname

  5. A voir en vidéo sur Futura

Discussions similaires

  1. installation numpy et matplotlib sur python
    Par invite99577ce5 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 03/06/2019, 12h53
  2. problème avec numpy
    Par invitee290a5e0 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 21/05/2018, 17h32
  3. Python et Numpy
    Par pouic92 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 25/01/2018, 10h42
  4. Matrice avec numpy dans python
    Par invite19e61be6 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 17/02/2016, 22h09
  5. Installer Numpy
    Par FARfadet00 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 10/12/2015, 18h50