Pandas 如何根据单元格位置设置背景色?
我需要根据单元格的位置而不是单元格的内容来设置数据框中的背景色 考虑这个数据帧:Pandas 如何根据单元格位置设置背景色?,pandas,Pandas,我需要根据单元格的位置而不是单元格的内容来设置数据框中的背景色 考虑这个数据帧: np.random.seed(24) df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC')) 期望的结果,对excel屏幕截图表示歉意: 我希望根据单元格的位置选择特定的单元格范围: bg_color_range = df.loc[1:3,'B':'C'] 并将其背景设置为绿色: def bg_green(x): return 'ba
np.random.seed(24)
df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
期望的结果,对excel屏幕截图表示歉意:
我希望根据单元格的位置选择特定的单元格范围:
bg_color_range = df.loc[1:3,'B':'C']
并将其背景设置为绿色:
def bg_green(x):
return 'background-color: lime'
df.style.applymap(bg_green, bg_color_range)
但这就产生了
keyrerror:“[Index(['B'],dtype='object')]中没有一个在[Index]”
中,我不知道如何告诉.style.applymap
要操作的单元格范围。请尝试使用axis=None
应用:
def bg_green(df):
ret = pd.DataFrame('', index=df.index, columns=df.columns)
ret.loc[1:3, 'B':'C'] = 'background-color: lime'
return ret
df.style.apply(bg_green, axis=None)
输出:
尝试应用且轴=无
:
def bg_green(df):
ret = pd.DataFrame('', index=df.index, columns=df.columns)
ret.loc[1:3, 'B':'C'] = 'background-color: lime'
return ret
df.style.apply(bg_green, axis=None)
输出:
您可以将applymap
的参数与pd.indexlice
一起使用,如下所示:
df.style.applymap(bg_green, subset=pd.IndexSlice[1:3, 'B':'C'])
您可以将applymap
的参数与pd.indexlice
一起使用,如下所示:
df.style.applymap(bg_green, subset=pd.IndexSlice[1:3, 'B':'C'])