ホームページ  >  記事  >  バックエンド開発  >  データが複数の列に分割されている場合にパンダで積み上げ棒グラフをプロットするにはどうすればよいですか?

データが複数の列に分割されている場合にパンダで積み上げ棒グラフをプロットするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-21 19:40:03949ブラウズ

How to Plot a Stacked Bar Chart with Pandas When Data is Separated into Multiple Columns?

Pandas を使用した積み上げ棒グラフのプロット

Python では、Pandas と Matplotlib を使用して積み上げ棒グラフを作成できます。一般的な課題は、グラフのデータを構造化することです。

たとえば、データが複数の列に分割された積み上げ棒グラフを作成するタスクを考えてみましょう。指定された例は、サイト名と不正行為/NFF 数を含むスプレッドシートを示しています。このデータをプロットするには:

  1. ライブラリのインポート: Pandas と Matplotlib をインポートすることから始めます。
  2. データ フレームの作成: Pandas データフレームを作成します。
  3. データの再構築: groupby() 関数と unstack() 関数を使用して、棒グラフに適した形式にデータを再構築します。この例では、データはサイト名と不正行為/NFF によってグループ化され、その後、カウントが積み上げられません。
  4. 棒グラフの作成: kind=' を指定して、plot() 関数を使用します。 bar' および stacked=True 引数を使用して積み上げ棒グラフを作成します。
  5. Label Axes: x 軸と y 軸にラベルを付けることを忘れないでください。

コード例:

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from CSV data
df = pd.read_csv('data.csv')

# Restructure data
df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)

# Create bar chart
df2[['abuse', 'nff']].plot(kind='bar', stacked=True)
plt.xlabel('Site Name')
plt.ylabel('Count')
plt.title('Stacked Bar Chart of Abuse and NFF')
plt.show()

以上がデータが複数の列に分割されている場合にパンダで積み上げ棒グラフをプロットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。