python – 具有多索引的Pandas样式对象
发布时间:2020-12-20 11:57:20 所属栏目:Python 来源:网络整理
导读:我正在使用样式器格式化pandas数据框以突出显示列和格式数字.我还想应用多索引更清晰,愉快和易读.由于我将Styler应用于列的子集,因此无法使用多索引. 例: arrays = [np.hstack([['One']*2,['Two']*2]),['A','B','C','D']]columns = pd.MultiIndex.from_arra
我正在使用样式器格式化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']) 有没有办法对列进行子集,以便样式器可以工作.根据以下来源,这是实现的,但没有例子,所以我很难理解如何应用它: 谢谢 ! 解决方法
我认为你可以使用
pd.IndexSlice[…]方法:
data.style.background_gradient(cmap=cm,subset=pd.IndexSlice[:,pd.IndexSlice[:,'A']]) 演示: In [5]: data.loc[pd.IndexSlice[:,'A']]] Out[5]: One A 0 -0.808483 1 0.009371 2 0.977138 3 -0.875554 4 -0.052424 In [6]: data Out[6]: One Two A B C D 0 -0.808483 -2.280683 0.576145 0.649688 1 0.009371 0.721510 1.013764 -0.157493 2 0.977138 1.441392 1.718618 -0.320826 3 -0.875554 -1.060507 1.457075 0.570195 4 -0.052424 -0.742842 -0.203830 -1.202091 在Jupyter: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |