Comment normaliser une liste de positif et de négatif nombre décimal à une gamme spécifique
J'ai une liste de nombres décimaux comme suit:
[-23.5, -12.7, -20.6, -11.3, -9.2, -4.5, 2, 8, 11, 15, 17, 21]
J'ai besoin de normaliser cette liste pour s'insérer dans la gamme [-5,5]
.
Comment puis-je le faire en python?
Double de stackoverflow.com/questions/1969240/...
OriginalL'auteur Surjya Narayana Padhi | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Pour obtenir la gamme d'entrée est très facile:
Ici la partie la plus délicate. Vous pouvez multiplier par la nouvelle gamme et diviser par l'ancienne gamme, mais qui garantit presque que le haut du seau ne recevrez qu'une seule valeur. Vous avez besoin d'élargir votre gamme de sortie de sorte que le haut du seau est de la même taille que tous les autres compartiments.
OriginalL'auteur Mark Ransom
OriginalL'auteur John La Rooy
max
:max(abs(val) for val in original_vals)
fonctionnera également.Merci - toujours bon d'utiliser des générateurs de! J'ai également réalisé la dernière ligne est vulnérable à la division par zéro, ce qui est un avantage pour la plage.
OriginalL'auteur mdscruggs
En supposant que votre liste est triée:
Fondamentalement, vous voulez ajuster la base de la liste dans une autre gamme. Cela permettra de normaliser votre liste initiale dans [0, 1]
OriginalL'auteur Michael
Faire simple:
En outre, si vous voulez juste être des entiers:
Ne pas nier que c'est probablement le cas, cette question est de plus d'un an et ma réponse était avant il y avait tout accepté de répondre ou de la rétroaction des OP. Pas besoin de relancer ce.
OriginalL'auteur timss