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 :

Numpy random array avec conditions


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Par défaut Numpy random array avec conditions
    Bonjour,

    Je m'initie à python et à la librairie numpy et je rencontre un petit problème.
    j'ai un array a qui contient 10 entiers compris entre 1 et 3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a=np.random.randint(1,4,10)
    Je voudrais créer un array b avec 10 entiers aléatoire compris entre 1 et 3, mais avec des entiers différent de a.

    par exemple :

    a = [1,3,2,1,2,3,2,2,3,1]
    je voudrais que le premier champs de b soit différent de 1, le deuxième différents de 3 etc etc...

    Avez-vous des idées ?

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    tu peux te faire ton petit algo dans ce cas qui va faire un tirage au sort élément par élément. Car ce n'est plus vraiment un tirage aléatoire entre 1 et 3 si à chaque fois tu interdit l'un de ces trois nombres.

    Admettons donc que tu veuilles faire un tirage entre a b et c (1 2 et 3). Admettons que tu veuilles écarter a. Et bien dans ce cas là au lieu d'utiliser un random avec un range, tu utilises un random pour sélectionner un élément plutôt entre b ou c. Mais bon là ca ne passe plus par numpy, mais tu peux mettre ca dans une liste que tu transforme en array ensuite.

    La demande parait un peu bizarre. Pourquoi as tu besoin de faire cela ?

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    une moulinette de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def fonk(a):
       b = np.zeros(len(a), dtype=np.int)
       for i in range(len(a)):
          while True:
             z = np.random.randint(1,4)
             if z != a[i]:
                b[i] = z
                break
       return b
    et son exécution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> a = np.random.randint(1, 4, 10)     ; a
    array([1, 2, 1, 3, 3, 3, 3, 2, 3, 3])
    >>> b = fonk(a)                         ; b
    array([2, 3, 2, 1, 2, 1, 1, 1, 1, 2])
    >>> all([a[i] != b[i] for i in range(len(a))])
    True

Discussions similaires

  1. Initialisation numpy array avec fonction
    Par P.G dans le forum Calcul scientifique
    Réponses: 8
    Dernier message: 06/07/2018, 23h00
  2. [PHP 5.3] Array avec asort mais avec des conditions
    Par ceweb dans le forum Langage
    Réponses: 12
    Dernier message: 06/03/2015, 08h03
  3. Random avec condition
    Par taibag dans le forum C#
    Réponses: 2
    Dernier message: 25/12/2013, 19h03
  4. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 10h48
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

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