pandas várias condições com base em várias colunas usando np.where

Estou tentando colorir os pontos de um dataframe de pandas dependendo de duas condições. Exemplo:

Se o valor de col1> a (float) E o valor de col2 - valor de col3 <b (float), então o valor de col 4 = string, mais: outra string.

Eu tentei tantas maneiras diferentes agora e tudo o que encontrei on-line dependia apenas de uma condição.

Meu código de exemplo sempre gera o erro: O valor verdadeiro de uma série é ambíguo. Use a.empty, a.bool (), a.item (), a.any () ou a.all ().

Aqui está o código. Tentei várias variações sem sucesso.

df = pd.DataFrame()

df['A'] = range(10)
df['B'] = range(11,21,1)
df['C'] = range(20,10,-1)

borderE = 3.
ex = 0.

#print df

df['color'] = np.where(all([df.A < borderE, df.B - df.C < ex]), 'r', 'b')

Btw: Eu entendo, o que diz, mas não como lidar com isso ... Agradecemos antecipadamente!

questionAnswers(2)

yourAnswerToTheQuestion