J'ai senti que le comportement `` où '' des engourdis et des pandas était contraire, je vais donc le partager.
Il existe des méthodes «where» et «mask» qui attribuent des valeurs en fonction des conditions. Les détails de la méthode peuvent être trouvés à ici. (Je vous suis toujours redevable: priez :)
Voici un bon exemple.
import numpy as np
import pandas as py
test = np.array([1,2,3])
Supposons que vous souhaitiez remplacer ce «2» par «200».
Faisons-le avec np.where
.
>>> pd.Series(np.where(test == 2, 200, test))
0 1
1 200
2 3
dtype: int64
Vous obtiendrez le résultat souhaité.
Alors qu'en est-il de pd.where
?
>>> pd.Series(test).where(test == 2, 200)
0 200
1 2
2 200
dtype: int64
Je suis désolé. Le résultat était le contraire de ce que je visais ...
Utilisez pd.mask
au lieu de np.where
.
>>> pd.Series(np.where(test == 2, 200, test))
0 1
1 200
2 3
dtype: int64
Je veux que vous associez le comportement avec np.where
...
Recommended Posts