J'essaie de remplir les valeurs d'un tableau numpy. Le tableau est initialement rempli avec des uns, et mon but est d'écraser les valeurs des uns à des index spécifiés avec des valeurs d'un autre tableau.Comment est-ce que je peux placer des valeurs dans le tableau 1 avec des valeurs du tableau 2 aux index du tableau 3?
import numpy as np
# get initial array of ones
mask = np.ones(10)
# get values to overwrite ones at indices
values = [10, 30, 50.5]
# get indices for which values will replace ones
idx_pad = [1, 6, 7]
print(mask)
>> [ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
Ce que je veux est:
>> [ 1 10 1 1 1 1 30 50.5 1 1 ]
Je pense qu'il ya une façon de le faire en utilisant un OrderedDict
, bien que je suis encore à essayer de comprendre. Je suis également plein d'espoir qu'il y a une approche rapide via numpy
. J'espère appliquer cet exemple à mon jeu de données réel, pour lequel len(idx_pad) = 10322
et len(mask) = 69268
. Toute aide serait appréciée.
'mask [idx_pad] = values'? – Divakar
Je n'avais pas réalisé que je pourrais utiliser plusieurs indices comme ça, j'avais à tort l'hypothèse qu'une seule valeur pouvait être transmise comme ça. Merci! Si vous postez comme réponse, j'accepterai. – mikey
Nous vous encourageons à publier vos résultats dans une réponse personnelle. – Divakar