小编Mar*_*ova的帖子

Pandas样式功能可以突出特定列

我一直在尝试编写一个与pandas风格一起使用的函数.我想要在参数中指定的高列.这不是很优雅,但例如:

data =  pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))

def highlight_cols(df, cols, colcolor = 'gray'):
    for col in cols:
        for dfcol in df.columns:
            if col == cols:
                color = colcolor
    return ['background-color: %s' % color]*df.shape[0]
Run Code Online (Sandbox Code Playgroud)

然后打电话:

data.style.apply(highlight_cols(cols=['B','C']))
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:("'系列'对象没有属性'列'")

我认为我从根本上不太明白样式器如何调用和应用该函数.

谢谢,

python styles highlight pandas

11
推荐指数
2
解决办法
2万
查看次数

具有多索引的Pandas样式对象

我正在使用样式器格式化pandas数据框以突出显示列和格式数字.我还想应用多索引更清晰,愉快和易读.由于我将Styler应用于列的子集,因此无法使用多索引.

例:

arrays = [np.hstack([['One']*2, ['Two']*2]) , ['A', 'B', 'C', 'D']]
columns = pd.MultiIndex.from_arrays(arrays)
data =  pd.DataFrame(np.random.randn(5, 4), columns=list('ABCD'))
data.columns = columns 
import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
data.style.background_gradient(cmap=cm, subset=['A'])
Run Code Online (Sandbox Code Playgroud)

有没有办法对列进行子集,以便样式器可以工作.根据以下来源,这是实现的,但没有例子,所以我很难理解如何应用它:http : //pandas.pydata.org/pandas-docs/stable/generated/pandas.formats.style. Styler.html https://github.com/pandas-dev/pandas/issues/11655

谢谢 !

python styles subset multi-index pandas

10
推荐指数
2
解决办法
3249
查看次数

标签 统计

pandas ×2

python ×2

styles ×2

highlight ×1

multi-index ×1

subset ×1