[英]Panda styler on multiIndex
我想在multiIndex的某個索引上設置熊貓DataFrame的樣式。 通常,pd.IndexSlice應該根據此答案工作。
但是,如下所示,這似乎不起作用:
import pandas as pd
import itertools
import numpy as np
cv = ['data1_1','data1_2','data1_3']
param = ['data2_1', 'data2_2']
combi = tuple(itertools.product(cv,param))
columns = pd.MultiIndex.from_tuples(combi)
myData = pd.DataFrame(np.zeros((4,6), dtype=bool)*False, columns = columns)
myData.iloc[0,0] = True
def highligh(val):
if val == True:
color = 'red'
else:
color = 'white'
return 'background-color: {}'.format(color)
myColoredData = myData.style.apply(highligh, subset=pd.IndexSlice[:,pd.IndexSlice[:,'data2_2']])
import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
myColoredData2 = myData.style.background_gradient(cmap=cm, subset=pd.IndexSlice[:,pd.IndexSlice[:,'data2_2']])
myData.loc[pd.IndexSlice[:,pd.IndexSlice[:,'data2_2']]]
myColoredData.to_excel('colored.xlsx')
myColoredData2.to_excel('colored2.xlsx')
to_excel
方法拋出一個錯誤:
不可散列的類型:“切片”
截至目前,這似乎並沒有工作,因為這里所說 :
請注意,此索引器以前在pandas版本0.22中可用,但是在0.24.2中引入了回歸功能
有趣的是,我在0.24.2上遇到了類似的問題,但在0.23.4上卻沒有。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.