2013-07-19 72 views
3

我想輸出一個簡單的表格到PDF文件,其中一些條件格式的單元格依賴於值的2或3級着色。與Microsoft Excel條件格式選項中的紅白 - 綠色縮放一樣。現在用於表格單元格的2或3級着色的條件格式化

import pandas 
import numpy as np 
df = pandas.DataFrame(np.random.randn(10, 2), columns=list('ab')) 
print df 

#Output: 
      a   b 
0 -1.625192 -0.949186 
1 -0.089884 0.825922 
2 2.117651 -0.046258 
3 -0.921751 -0.144447 
4 -0.294095 -1.774725 
5 -0.780523 -0.435909 
6 0.544958 0.303268 
7 0.014335 0.036182 
8 -0.756565 0.120711 
9 1.145055 0.542755 

,我想用一個3級條件格式輸出這一個PDF在表中a列和獨立的b列,因此我的輸出看起來像從Excel下面的例子。

有點像這一點,但經柱: enter image description here

+0

是。熊貓不寫PDF,但有其他的Python工具可以做到這一點?你有沒有選擇一個使用? –

回答

7

好吧,我做了一些更多的研究,這幾乎涵蓋了我想做的事。使用matplotlib colormaps做了訣竅。這裏是地圖顏色選項的鏈接。 matplotlib color maps

我去RdYlGn着色。

import pandas as pd 
import numpy as np 
from matplotlib import pyplot as plt 

df = pd.DataFrame(np.random.randn(10, 8), columns=list('abcdefgh')) 

print df 

#Round to two digits to print nicely 
vals = np.around(df.values, 2) 
#Normalize data to [0, 1] range for color mapping below 
normal = (df - df.min())/(df.max() - df.min()) 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.axis('off') 
the_table=ax.table(cellText=vals, rowLabels=df.index, colLabels=df.columns, 
        loc='center', cellColours=plt.cm.RdYlGn(normal),animated=True) 
fig.savefig("table.png") 

輸出:

Output of code

相關問題