Numpy “où” avec plusieurs conditions
J'essaie d'ajouter une nouvelle colonne "energy_class" à un dataframe "df_energy", qui contient la chaîne de caractères "haut" si le "consumption_energy" valeur > 400, "moyen" si le "consumption_energy" la valeur est comprise entre 200 et 400, et le "bas" si le "consumption_energy" la valeur est de moins de 200.
J'essaie d'utiliser np.d'où numpy, mais je vois que numpy.where(condition[, x, y])
traiter seulement deux condition de ne pas 3 comme dans mon cas.
Une idée pour m'aider s'il vous plaît?
Je vous remercie à l'avance
OriginalL'auteur Poisson | 2016-08-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un ternaire:
OriginalL'auteur Alexander
Je voudrais utiliser le cut() méthode ici, ce qui va générer très efficace et d'économie de mémoire
category
dtype:il devrait tomber sous “moyenne de la catégorie “ parce que tous les bords droit d'intervalles sont inclus par défaut
Merci mon homme, désolé pour les commentaires sur un ancien fil!
en fait, je me trompe - il devrait tomber sous le “bas” de la catégorie que c'est un bord droit du premier intervalle
OriginalL'auteur MaxU
Essayez ceci:
En utilisant le programme d'installation à partir de @Maxu
if / elif / else
fonctions que si le premier et la seconde conditions sont remplies, la première s'applique et non à la seconde. Merci @MerlinOriginalL'auteur Merlin
J'aime pour avoir un code propre. C'est pourquoi je préfère
np.vectorize
pour de telles tâches.Puis il suffit d'ajouter un tableau numpy comme une colonne dans votre dataframe à l'aide de:
L'avantage de cette approche est que si vous souhaitez ajouter plus compliqué contraintes à une colonne, il peut être fait facilement.
Espérons que cela aide.
OriginalL'auteur
Je seconde à l'aide de np.vectoriser. Il est beaucoup plus rapide que les np.où et aussi plus propre code sage. Vous pouvez certainement dire que la vitesse avec de grands ensembles de données. Vous pouvez utiliser un dictionnaire format pour votre conditionnelles ainsi que la sortie de ces conditions.
OriginalL'auteur wpmoradi