147

Python の Pandas パッケージから生成されたデータフレームがあります。pandas パッケージの DataFrame を使用してヒートマップを生成するにはどうすればよいですか。

import numpy as np 
from pandas import *

Index= ['aaa','bbb','ccc','ddd','eee']
Cols = ['A', 'B', 'C','D']
df = DataFrame(abs(np.random.randn(5, 4)), index= Index, columns=Cols)

>>> df
          A         B         C         D
aaa  2.431645  1.248688  0.267648  0.613826
bbb  0.809296  1.671020  1.564420  0.347662
ccc  1.501939  1.126518  0.702019  1.596048
ddd  0.137160  0.147368  1.504663  0.202822
eee  0.134540  3.708104  0.309097  1.641090
>>> 
4

7 に答える 7

232

今日これを見ている人には、ここheatmap()に記載されているようにシーボーンをお勧めします。

上記の例は、次のように実行されます。

import numpy as np 
from pandas import DataFrame
import seaborn as sns
%matplotlib inline

Index= ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
Cols = ['A', 'B', 'C', 'D']
df = DataFrame(abs(np.random.randn(5, 4)), index=Index, columns=Cols)

sns.heatmap(df, annot=True)

%matplotlibなじみのない人のための IPython マジック関数はどこにありますか。

于 2015-04-09T02:00:13.673 に答える
101

あなたがしたいmatplotlib.pcolor

import numpy as np 
from pandas import DataFrame
import matplotlib.pyplot as plt

index = ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
columns = ['A', 'B', 'C', 'D']
df = DataFrame(abs(np.random.randn(5, 4)), index=index, columns=columns)

plt.pcolor(df)
plt.yticks(np.arange(0.5, len(df.index), 1), df.index)
plt.xticks(np.arange(0.5, len(df.columns), 1), df.columns)
plt.show()

これは与える:

出力サンプル

于 2012-09-05T17:42:37.583 に答える
6

Pandas DataFrame からインタラクティブなヒートマップが必要で、Jupyter ノートブックを実行している場合は、インタラクティブなウィジェットClustergrammer-Widgetを試すことができます。NBViewer のインタラクティブなノートブックはこちら、ドキュメントはこちらです。

ここに画像の説明を入力

大規模なデータセットの場合は、開発中のClustergrammer2 WebGL ウィジェットを試すことができます (ノートブックの例はこちら) 。

于 2019-03-27T15:44:40.953 に答える