J'ai un dictionnaire contenant des intervalles de temps de plusieurs objets, à savoir un tableau 2D avec le temps dans l'axe x et l'objet dans le y. J'ai aussi le même dictionnaire de forme pour les valeurs de flux stellaires pour aller avec ces temps et enfin j'ai un dictionnaire contenant les ID Stellar qui est un tableau 1D de chaînes.Suppression d'éléments de dictionnaires tout en conservant la forme
En plus de cela, il y a un dictionnaire avec les valeurs 'FLAG
' où si dic['FLAG'] != 0
alors les valeurs de flux et de temps correspondantes doivent être rejetées. L'utilisation de time_new = (dic['time'][np.where(dic['FLAG'] == 0.)])
semble passer par le dictionnaire temporel 2D ajoutant chaque valeur acceptée à la fin de la suivante plutôt que de supprimer simplement les valeurs qui ne conviennent pas et de supprimer la forme globale du tableau 2D.
Quelqu'un a-t-il des suggestions pour résoudre un tel problème? Merci beaucoup!
Utilisez un 'np.ma.MaskedArray' puis définissez l'attribut' '.mask' à dic [ 'FLAG' ] == 0.' – MSeifert
merci pour la réponse! donc quelque chose comme new_time = np.ma.MaskedArray (time, mask = dic ['FLAG'] == 0.)? – user8188120
Oui, au moins si toutes les opérations ultérieures supportent les tableaux masqués :) – MSeifert