簡體   English   中英

pandas + xlsx:根據另一個數據框格式化單元格

[英]pandas+xlsx: format cells based on another 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

這是另一個具有邏輯值的數據透視表:

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

它存儲到Excel:

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

我需要將其寫入xlsx文件並根據第二個數據透視表設置單元格顏色,即,如果fl相應值為True,則將單元格顏色設置為75%的灰色。 我該怎么做?

如果將兩個數據框都存儲在Excel工作簿中,則可以使用條件格式來基於另一個區域中的值突出顯示一個區域中的單元格。 另請參閱將條件格式添加到數據幀輸出

如果只想添加值數據pd.ExcelWriter()則建議不要直接使用pd.ExcelWriter()並使用XlsxWriter格式化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM