2017-09-20 2 views
2

J'ai un tableau croisé dynamique à partir d'une trame de données:pandas géants + xlsx: cellules de format basé sur un autre dataframe

pv=testdata.pivot(index='dose',columns='el_num',values='value').reindex(index=doseann) 

el_num   1   2  3  4  5  6  7   8  9  10  11 
dose                           
100.0  7.07460 6.37422 19.8883 18.6835 16.5359 59.8294 28.5587 14.18910 39.5265 4.33896 38.0297 
11931.0 6.41105 8.27059 19.0014 18.6988 16.4000 59.1123 29.4836 13.25030 36.2842 5.89428 37.9752 
25079.0 6.82894 8.11478 19.8956 18.8933 15.8732 58.6548 29.8440 13.25930 36.7238 7.37476 39.1368 
49640.0 7.20882 8.17981 19.3958 18.0241 15.3036 58.6676 29.9847 12.50980 37.5594 7.81891 38.7749 
71545.0 9.57559 11.55590 15.4280 15.8461 13.5970 59.9049 27.4346 8.38379 40.9102 7.78858 38.5024 
84303.0 9.69782 11.00110 16.4352 14.9416 13.6581 59.9323 26.3975 9.74285 40.3733 7.85947 38.5113 
101415.0 10.60720 10.36910 16.3399 16.9584 13.1570 60.1249 27.9201 11.02400 39.6205 7.64924 39.0897 
150913.0 10.70750 10.07470 17.9623 16.1063 13.2890 59.9274 27.7685 11.94690 39.0937 8.43550 39.5281 
169885.0 10.39460 0.00000 16.9633 14.7942 13.8830 58.9495 27.9250 12.58740 38.8587 8.10606 38.8391 
200463.0 9.59026 9.26161 18.0652 15.2096 13.0975 59.1136 27.8377 11.90810 40.4693 8.51281 39.2943 
24.0  9.45291 9.27879 17.9021 16.5391 13.4601 58.9314 27.3388 10.94170 39.0885 8.77127 38.4680 
192.0  6.14907 6.94374 19.6765 12.5670 15.6754 56.5163 28.8796 11.78300 36.6076 6.21283 38.8232 

Voici un autre tableau croisé dynamique avec des valeurs logiques:

fl=testdata.pivot(index='dose',columns='el_num',values='fail').reindex(index=doseann) 

el_num  1  2  3  4  5  6  7  8  9  10 11 
dose                    
100.0  False False False False False True False False True False True 
11931.0 False False False False False True False False True False True 
25079.0 False False False False False True False False True False True 
49640.0 False False False False False True False False True False True 
71545.0 False False False False False True False False True False True 
84303.0 False False False False False True False False True False True 
101415.0 False False False False False True False False True False True 
150913.0 False False False False False True False False True False True 
169885.0 False False False False False True False False True False True 
200463.0 False False False False False True False False True False True 
24.0  False False False False False True False False True False True 
192.0  False False False False False True False False True False True 

Il est stocké dans Excel :

doc=pd.ExcelWriter('tests.xlsx',engine='xlsxwriter') 
pv2=pd.DataFrame(pv) 
pv2.to_excel(doc,sheet_name='Sheet1') 

je dois écrire pour xLSX et définir la couleur des cellules selon le deuxième tableau croisé dynamique, à savoir définir une cellule couleur s 75% gris si la valeur fl est vraie. Comment puis-je le faire?

+0

Essayez le [xlsxwriter packge] (http://xlsxwriter.readthedocs.io/) et le chapitre [Travailler avec les couleurs] (http://xlsxwriter.readthedocs.io/working_with_colors.html) – 2Obe

Répondre