パンダは値のカウントを降順でプロットします
この記事の主な目的は、Python の Matplotlib を使用してグラフの値を降順でプロットする方法を示すことです。
Pandas での値のカウントのプロット
問題
必要と状況に応じて、Dataframe
を使用して、いつでも大量のデータを保存してアクセスできます。 カスタム使用のために、複数のデータ型を単一の順序付けられたデータ構造に格納する柔軟性を提供します。
Dataframe
はデータを保存しますが、データを視覚化する必要がある場合もあります。 Matplotlib
を使用すると、データの視覚化は非常に簡単です。
シナリオによっては、データを降順で視覚化する必要がある場合があります。
次のコードを検討してください。
import pandas as pd
import matplotlib.pyplot as plt
keyItems = ("a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "c", "c", "c", "d")
idData = ("X", "X", "X", "X", "X", "X", "X", "X", "Y", "X", "X", "X", "X", "X")
df = pd.DataFrame({"keys": keyItems, "ids": idData})
print("\nDataframe:\n" + str(df))
print("\nValue Counts:\n" + str(df.value_counts()))
df.value_counts().plot(kind="barh")
plt.show()
出力:
Dataframe:
keys ids
0 a X
1 a X
2 a X
3 a X
4 a X
5 b X
6 b X
7 b X
8 b Y
9 b X
10 c X
11 c X
12 c X
13 d X
Value Counts:
keys ids
a X 5
b X 4
c X 3
b Y 1
d X 1
dtype: int64
プロット:
上記のコードから、keys
とそれに対応する ids
が別々に宣言されていることがわかります。すべてのキーは keyItems
という名前の変数に格納され、それらの対応する ID は idData という名前の変数に格納されています。
.
Dataframe
をインスタンス化した後、value_counts
メソッドを使用して、特定の値が発生する頻度を確認します。 その後、グラフをプロットし、matplotlib.plot
の一部である show
メソッドを使用して画面に表示します。
プロットから、グラフが昇順でプロットされていることがわかります。 プロジェクトの要件またはその他のシナリオに基づいて、出力グラフに表示される昇順ではなく、降順でグラフをプロットする必要がある可能性があります。
ソリューション
グラフをプロットする前に sort_values()
を追加すると、値を降順に並べ替えることができます。これにより、出力の一番上に最大値が表示され、出力の一番下に最小値が表示されます。
次のコードを検討してください。
df.value_counts().sort_values().plot(kind="barh")
次のコードは、value_counts()
に対する sort_values()
の効果を示しています。
print("\nValue Counts:\n" + str(df.value_counts()))
print("\nValue Counts - Sorted:\n" + str(df.value_counts().sort_values()))
完全なコード:
import pandas as pd
import matplotlib.pyplot as plt
keyItems = ("a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "c", "c", "c", "d")
idData = ("X", "X", "X", "X", "X", "X", "X", "X", "Y", "X", "X", "X", "X", "X")
df = pd.DataFrame({"keys": keyItems, "ids": idData})
print("\nValue Counts:\n" + str(df.value_counts()))
print("\nValue Counts - Sorted:\n" + str(df.value_counts().sort_values()))
df.value_counts().sort_values().plot(kind="barh")
plt.show()
出力:
Value Counts:
keys ids
a X 5
b X 4
c X 3
b Y 1
d X 1
dtype: int64
Value Counts - Sorted:
keys ids
b Y 1
d X 1
c X 3
b X 4
a X 5
プロット:
sort_values
メソッドを使用して values_count
の出力を降順で並べ替えることができます。最大の出現がグラフの上部に表示され、最小の出現が出力プロットの一番下に表示されます。
必要に応じて、sort_index
メソッドを使用して、値の代わりにインデックスで values_count
をソートすることもできます。
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn