ホームページ > バックエンド開発 > Python チュートリアル > Pandas 列を効率的にビン化し、各ビン内の値をカウントする方法

Pandas 列を効率的にビン化し、各ビン内の値をカウントする方法

Susan Sarandon
リリース: 2024-12-09 19:17:17
オリジナル
358 人が閲覧しました

How to Efficiently Bin a Pandas Column and Count Values in Each Bin?

Pandas を使用した列のビン化

データ分析では、データの表現と分析を簡素化するためにデータをカテゴリにビン化すると便利なことがよくあります。これは、パーセンテージを扱うときなど、数値データを扱うときの一般的な手法です。

次に示すように、数値を含む「percentage」という名前のデータ フレーム列があるとします。

df['percentage'].head()
46.5
44.2
100.0
42.12
ログイン後にコピー

この列をビンに分けて各ビンの値の数を取得するには、pd.cut 関数を使用できます。これを実現するには、次の 2 つの方法があります:

value_counts で pd.cut を使用する:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
print(df.groupby(df['binned']).size())
ログイン後にコピー

np.searchsorted と groupby を使用する:

df['binned'] = np.searchsorted(bins, df['percentage'].values)
print(df.groupby(df['binned']).size())
ログイン後にコピー

両方のメソッドは次を返します。出力:

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64
ログイン後にコピー

この出力は、ビン (0, 1]、(1, 5]、(5, 10]、および (10, 25]) に値がないことを示します。3 つの値が該当します)ビン (25, 50] にあり、1 つの値がビン (50, 100] に収まります。

以上がPandas 列を効率的にビン化し、各ビン内の値をカウントする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート