np.where имеет семантику векторизованного if/else (аналогично методу Apache Spark when/otherwise DataFrame). Я знаю, что я могу использовать np.where в pandas Series, но pandas часто определяет свой собственный API для использования вместо raw numpy функций, что обычно более удобно с pd.Series/pd.DataFrame.
Конечно, я нашел pandas.DataFrame.where. Однако, на первый взгляд, он имеет совершенно другую семантику. Я не мог найти способ переписать наиболее простой пример np.where с помощью 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'])
Я пропустил что-то очевидное? Или pandas where предназначен для совершенно другого варианта использования, несмотря на то же имя, что и np.where?