可以重寫這個函式
def highlight_cells(x):
df = x.copy()
df.loc[:,:] = 'background-color: grey'
df.iloc[1:3, 1:3] = 'background-color: steelblue'
return df
df.style.apply(highlight_cells, axis=None)
以便執行下面的函式會產生相同的效果?
def highlight_cells(x, indicates):
df = x.copy()
df.loc[:,:] = 'background-color: grey'
df.iloc[indicates] = 'background-color: steelblue'
return df
df.style.apply(highlight_cells, axis=None, indicates=[1:3, 1:3])
我想通過指示例如陣列作為函式中進一步操作的引數
uj5u.com熱心網友回復:
您可以使用:
def highlight_cells(x, idx):
df = x.copy()
df.loc[:,:] = 'background-color: grey'
df.iloc[idx[0]:idx[1], idx[2]:idx[3]] = 'background-color: steelblue'
print(df)
然后你可以將indicates陣列傳遞為indicates=[1,3,1,3]
uj5u.com熱心網友回復:
使用https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html#Finer-Control-with-Slicing的解決方案的替代版本pd.IndexSlice
idx = pd.IndexSlice
slice_ = idx[idx[1:2, 1:2]]
def highlight_cells(x):
df = x.copy()
df.loc[:,:] = 'background-color: steelblue'
return df
df.style.apply(highlight_cells, axis=None, subset=slice_)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331171.html
下一篇:在R中使用行號進行采樣
