我想根據另一列的值在一列上的 DataFrame 的紅色單元格中著色。
這是一個例子:
df = pd.DataFrame([
{ 'color_A_in_red': True , 'A': 1 },
{ 'color_A_in_red': False , 'A': 2 },
{ 'color_A_in_red': True , 'A': 2 },
])
應該給:

我知道如何將 df 的單元格著色為紅色,但僅基于此單元格的值,而不是另一個單元格的值:
df_style = df.style
df_style.applymap(func=lambda x: 'background-color: red' if x == 2 else None, subset=['A'])
df_style

有沒有辦法根據另一列的值對 DataFrame 的單元格著色?
uj5u.com熱心網友回復:
對樣式的 DataFrame 使用自定義函式是這里最靈活的解決方案:
def highlight(x):
c = f"background-color:red"
#condition
m = x["color_A_in_red"]
# DataFrame of styles
df1 = pd.DataFrame('', index=x.index, columns=x.columns)
# set columns by condition
df1.loc[m, 'A'] = c
return df1
df.style.apply(highlight, axis=None)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/444911.html
