Ice*_*lin 4 python numpy matplotlib pandas
我想将一个简单的表输出到PDF文件,其中一些条件格式为依赖于值的单元格的2或3级着色.就像Microsoft Excel条件格式选项中的红白绿色缩放一样.
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
Run Code Online (Sandbox Code Playgroud)
现在,我想将这个输出到一个表格中的PDF,其中列为3比例条件格式,a并且对于列b是独立的,因此我的输出看起来像Excel中的以下示例.
有点像这样,但是按列:

好的,我做了一些研究,这几乎涵盖了我想做的事情.使用matplotlib colormaps做了伎俩.这里是地图颜色选项的链接. matplotlib彩色地图
我带着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")
Run Code Online (Sandbox Code Playgroud)
输出:
我来到这里寻找一种使用表格进行条件格式设置的方法(而不是将其打印在 PDF 上)。无论如何,如果您对 pandas 感兴趣,有一个样式模块可以输出增强的表格着色
import seaborn as sns
cm = sns.light_palette("green", as_cmap=True)
df.style.background_gradient(cmap = cm)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |