pandas équivalent de np.where

np.where a la sémantique d'un vectorisé si/d'autre (similaire à Apache Spark est when/otherwise DataFrame de la méthode). Je sais que je peux utiliser np.where sur les pandas Seriesmais pandas souvent définit sa propre API pour utiliser à la place de raw numpy fonctions, qui est généralement plus pratique avec pd.Series/pd.DataFrame.

Bien sûr, j'ai trouvé pandas.DataFrame.where. Cependant, à première vue, il est totalement différent de la sémantique. Je ne pouvais pas trouver un moyen de réécrire l'exemple le plus simple de np.where à l'aide de pandas where:

# df is pd.DataFrame
# how to write this using df.where?
df['C'] = np.where((df['A']<0) | (df['B']>0), df['A']+df['B'], df['A']/df['B'])

Ai-je raté quelque chose d'évident? Ou est les pandas where prévu pour une utilisation complètement différente, en dépit de même nom que np.where?

source d'informationauteur max