著者:弟ウー
出典:AI入門学習(公開アカウント)
Pythonには、3つの一般的なデータ視覚化ライブラリがあります。
matplotlib:最も一般的に使用されているライブラリで、視覚化に必要なスキルライブラリと見なすことができます。比較的低レベルで、多くのAPIがあり、習得するのは簡単ではありません。
seaborn:ほとんどの視覚化のニーズを満たすことができるmatplotlibに基づいて構築されており、さらに特別なニーズはmatplotlibを学習する必要があります。
pyecharts:上記の2つのライブラリは静的な視覚化ライブラリであり、pyechartsはWebとの互換性が高く、視覚的な動的効果を実現できます。そして、タイプも比較的豊富です。たとえば、この画像は非常に強力です。描画アーティファクトpyecharts-sunburst
パンダ:今日はパンダの視覚化についてお話します。パンダは主にデータ分析ライブラリとして使用されます。上記の3つのライブラリほど強力ではありませんが、より便利です。データ分析の過程で、たった1行のコードで実現できます。そして、グラフィックもとても美しいです。
ケースを見る
パンダには、11個の一般的なグラフの視覚化と、いくつかのより高度な視覚化があります。それらを1つずつ描画する方法を見てみましょう。
import pandas as pdimport numpy as npdf= pd.DataFrame(np.random.rand(10, 4), columns=['A','B','C','D'])
01、ヒストグラム-垂直
df.plot.bar()
stacked = True、積み上げヒストグラムを描画します
df.plot.bar(stacked=True)
02、ヒストグラム-水平
df.plot.barh()
同様に、stacked = True、積み上げヒストグラムを描画します
df.plot.barh(stacked=True)
03、面グラフ
df.plot.area(alpha = 0.9)
df.plot.area(stacked=True,alpha = 0.9)
04、密度マップ-kde
df.plot.kde()
05、密度マップ-密度
df.plot.density()
06、ヒストグラム
データセットを変更する
df = pd.DataFrame({'A': np.random.randn(1000) + 1,
'B': np.random.randn(1000),
'C': np.random.randn(1000) - 1},
columns=['A', 'B', 'C']) df.plot.hist(bins=200)
df.plot.hist(stacked=True, bins=20)
df= pd.DataFrame(np.random.rand(1000, 4), columns=['A','B','C','D'])df.diff().hist(color='k', alpha=0.7, bins=50)
07、ボックスマップ
df= pd.DataFrame(np.random.rand(100, 4), columns=['A','B','C','D'])df.plot.box()
vert = Falseは水平に変更することもできます
df.plot.box(vert=False)
08、散布図
df.plot.scatter(x='A',y='B')
09、ハニカム図
df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])df['b'] = df['b'] + np.arange(1000)df.plot.hexbin(x='a', y='b', gridsize=25)
07、円グラフ
series = pd.Series(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'],
name='series')series.plot.pie(figsize=(6, 6))
series.plot.pie(labels=['AA', 'BB', 'CC', 'DD'], colors=['r', 'g', 'b', 'c'],
autopct='%.2f', fontsize=20, figsize=(6, 6))
08、マトリックス散布図
from pandas.plotting import scatter_matrix
df = pd.DataFrame(np.random.randn(1000, 4), columns=['a', 'b', 'c', 'd'])
scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')