2013-07-19 67 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

相关问题