Pandasのデータ分析:チャートを高速に可視化するための各種操作の詳細解説+サンプルコード (3)

目次

序文

1. 六角形の箱ひげ図

2.円グラフ

 3.欠落データ描画処理

注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました



序文

一般に、データマイニングやデータ分析を行っているときや、データベースのデータを抽出するビッグデータを開発しているときは、表形式のデータを左右に​​見ることしかできず、すぐにデータを生成できることを常に望んでいます。データをより直感的に表示するチャート。データを視覚化する場合、多くのライブラリや関数を呼び出す必要があるだけでなく、データの変換や多くのコードの処理と記述が必要になることがよくあります。これは非常に面倒な作業です. 確かに, データの視覚化だけであれば, データの視覚化を実現するためにエンジニアリングプログラミングは必要ありません. これはすべてデータアナリストとプロのレポートツールによって行われます. 日常の分析については, 私たちは自分の必要. 画像をすばやく生成するだけで十分です. Pandas にはこの機能だけがあります. もちろん、まだ matplotlib ライブラリに依存していますが、コードを圧縮する方が簡単です. 絵を素早く描く方法を見てみましょう。

Pandas データ分析: クイック チャート ビジュアライゼーション さまざまな操作の詳細な説明 + サンプル コード (1)

Pandasのデータ分析:チャートを高速に可視化するための各種操作の詳細解説+サンプルコード(2)

Pandas のデータ分析シリーズのコラムは長い間更新されており、pandas を使用して日々のビジネスや日常的なデータ分析に対処するためのすべての側面を基本的にカバーしています。基本的なデータ構造からさまざまなデータの処理、pandas の共通機能の専門的な説明まで、作成するのに多くの時間と思考が必要でした. データ分析やビッグデータ開発に従事する必要がある友人がいる場合は、 Pandas データ分析の最も実践的で一般的な知識を学びます。このブログは長く、データの視覚化などのさまざまな操作が含まれます. 読んで実践する価値があります. Pandas のエッセンスをピックアップして詳細に説明します. ブロガーはブログの投稿を長く続けますので、間違いや疑問点があればコメント欄で指摘していただけると助かります。


1. 六角形の箱ひげ図

六角形の箱ひげ図は、DataFrame.plot.hexbin() で作成できます。データが密集して各ポイントを個別にプロットできない場合は、散布図の代わりに Hexbin プロットを使用できます。

ここでは、以前のデータセットは使用しませんが、代わりにデータセットを使用し、この 2022 年ナショナル チャンピオンシップ E の質問のデータを使用して次のことを示します。

df_example[['出现频次','需求总数']].plot.hexbin(x='出现频次',y='需求总数',gridsize=25)

 

 上限と下限がはるかに悪いため、効果はあまり良くありません。効果は集中化されたデータセットでよりよく表示されます。

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);

キーワード引数 gridsize: x 方向の六角形の数を制御します。デフォルト値は 100 です。グリッドが大きいほど、ボックスは小さくなります。

df.plot.hexbin(x="a", y="b", gridsize=10);

 

 デフォルトでは、各 (x,y) ポイント周辺のカウントのヒストグラムが計算されます。C および reduce_C_function パラメータに値を渡すことで、別の集計を指定できます。C は各 (x, y) ポイントの値を指定します。reduce_C_function は、ビン内のすべての値を 1 つの数値 (平均、最大、合計、標準など) に集約する 1 つの引数の関数です。この例では、位置は列 a と b で指定され、値は列 z で指定されます。ビンは、NumPy の max 関数を介して集約されます。

df = pd.DataFrame(np.random.randn(1000, 2), columns=["a", "b"])
df["b"] = df["b"] + np.arange(1000)
df["z"] = np.random.uniform(0, 3, 1000)
df.plot.hexbin(x="a", y="b", C="z", reduce_C_function=np.max, gridsize=25);

 

2.円グラフ

円グラフは、DataFrame.plot.pie() または Series.plot.pie() を使用して作成できます。データに NaN が含まれている場合、それらは自動的に 0 で埋められます。データに負の値がある場合、ValueError が発生します。

series = pd.Series(3 * np.random.rand(4), index=["a", "b", "c", "d"], name="series")
series.plot.pie(figsize=(6, 6));

 

円グラフの場合は、方形グラフ、つまりグラフの縦横比が 1 のグラフを使用するのが最適です。幅と高さが等しい図形を作成したり、描画後に ax を呼び出して縦横比を等しくしたりできます。返された軸オブジェクトの ax.set_aspect('equal')。

DataFrame を含む円グラフでは、ターゲット列を y パラメータまたは subplots=True で指定する必要があります。y を指定すると、選択した列の円グラフが描画されます。subplots=True を指定すると、各列の円グラフがサブプロットとして描画されます。デフォルトでは、各円グラフに凡例が描画されます。凡例を非表示にするには、legend=False を指定します。

q1_1_result['最终得分'].plot.pie(labels=q1_1_result['物料编码'].values,figsize=(6, 6),autopct="%.2f")

 

df_flow_mark[['湿度','体感温度']].plot.pie(subplots=True, figsize=(8, 4));

 

 各ボタンのラベルと色は、label と color キーワードを使用して指定できます。

ほとんどの Pandas プロットは、ラベルと色のパラメーターを使用します (これらのパラメーターには「s」がないことに注意してください)。matplotlib.pyplot と一致しています。pie() は、ラベルと色を使用する必要があります。

ウェッジ ラベルを非表示にするには、labels=None を指定します。fontsize が指定されている場合、値はウェッジ ラベルに適用されます。さらに、matplotlib.pyplot でサポートされている他のキーワードを pie() で使用できます。

series.plot.pie(
    labels=["AA", "BB", "CC", "DD"],
    colors=["r", "g", "b", "c"],
    autopct="%.2f",
    fontsize=20,
    figsize=(6, 6),
);

 

 渡された値の合計が 1.0 未満の場合、合計が 1 になるように値が再スケーリングされます。

series = pd.Series([0.1] * 4, index=["a", "b", "c", "d"], name="series2")
series.plot.pie(figsize=(6, 6));

 

 3.欠落データ描画処理

Pandas は、欠損データを含む DataFrame または Series をプロットするときに、可能な限り完全に埋めます。印刷タイプに応じて、欠損値が削除、省略、または埋められます。

 これらのデフォルト値のいずれかが必要なものではない場合、または欠落している値をどうするかについて明示したい場合は、描画する前に fillna() または dropna() を使用することを検討してください。


ここまでで、一般的に使用されるすべての描画フォームが完成しました。次に、プロットの多様性組み合わせ表と特別な形式の表を補足し、他のタイプのデータのプロットを要約します。

 

注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました

この問題は以上です。ご不明な点がございましたら、お気軽にメッセージを残してください。次号でお会いしましょう


おすすめ

転載: blog.csdn.net/master_hunter/article/details/126968778