8

値に応じてセルを 2 スケールまたは 3 スケールで色付けする条件付き書式を使用して、簡単な表を PDF ファイルに出力したいと考えています。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

これを、列に 3 スケールの条件付き書式を使用し、列aに独立してテーブルの PDF にb出力したいので、出力は次の Excel の例のようになります。

このようなものですが、列ごとに: ここに画像の説明を入力

4

2 に答える 2

11

わかりました、もう少し調査を行いましたが、これは私がやりたかったことをほぼカバーしています。matplotlib カラーマップを使用するとうまくいきました。これは、マップの色のオプションへのリンクです。 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")

出力:

コードの出力

于 2013-07-22T14:22:17.143 に答える