J'essaie de tracer des données importantes (50 millions de valeurs), mais je reçois un Terrain original: P> EDIT: strong> P> Merci pour les réponses. Si j'utilise l'approche proposée: p> Il en résulte: p> MemoryError code>. Maintenant, j'essaie de dégager mon jeu de données des valeurs redondantes. Dans mon cas, ce sont toutes des valeurs ci-dessous 1 code> et ci-dessus -1 code>. Une chose à garder à l'esprit est que l'intrigue devrait ressembler la même chose que l'original, mais sans le bruit. Existe-t-il un meilleur moyen de le faire que d'utiliser boucles code> ou compréhensions de liste code>?
3 Réponses :
Si votre tableau est nommé DATA CODE>: clipped_data = data[(-1 > data) | (data > 1)]
Numpy peut faire l'adressage basé sur une gamme de booléens. Vous pouvez donc faire des choses comme ceci, si vous souhaitez définir les valeurs indésirables sur 0:
badIndices = (myArray > 1) | (myArray < -1) myArray[badIndices]=0
Numpy Vous permet d'appliquer un masque à une seule dimension d'un tableau, ce qui entraîne un sous-ensemble des lignes non masquées (ou des points de données dans votre cas).
data = np.array([1.5, 0.2, -5, -0.5]) mask = np.abs(data) > 1 data = data[mask] print(data) # output: [1.5, -5]
S'il vous plaît partager quelques échantillons de données ou
numpy.array code> pour reproduire le problème