Изменить цвет текста в строке датафрейма по условию
У меня есть датафрейм df_df1
Мне нужно изменить цвет текста в тех строках (полностью всю строку), в которых значения ячеек по столбцу/ам column5 и/или column6 удовлетворяют условиям x < 0 и x >= 100.
Я использую следующий код:
df_df1.style.map(lambda x: (x<0 and "color: grey") or "color: black")
На выходе получаю:
Как вы можете заметить, я использовал пока только одно условие x < 0. Такие значения есть в column5 и/или column6 в строке с индексом 3. Но я хочу, чтобы в таком случае изменился цвет всей строки (а тут значения в column2 и column4 остались черными).
Теперь добавлю в код второе условие x >= 100:
df_df1.style.map(lambda x: (x<0 and "color: grey") or (x>100 and "color: grey") or "color: black")
На выходе получу:
У меня закрасились все подходящие значения, хотя мне надо, чтобы серыми стали строки с индексом 3 и 6, потому что в этих строках в столбцах column5 и column6 есть значения, удовлетворяющие нужным условиям
Помогите, пожалуйста, подсказками, что можно сделать, чтобы получить желаемый результат на выходе
Ответы (1 шт):
df = pd.DataFrame(np.random.randint(-10, 150, 100).reshape(10, -1)).add_prefix('column', axis=1)
df_style = df.style.apply(lambda x: ["color: black"] * len(x) if 0 <= x.column5 < 100 and 0 <= x.column6 < 100 else ["color: grey"] * len(x), axis=1)
df_style.to_excel('styler.xlsx')



