ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame 列をビン化し、各ビン内の値をカウントするにはどうすればよいですか?

Pandas DataFrame 列をビン化し、各ビン内の値をカウントするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-16 19:21:12
オリジナル
778 人が閲覧しました

How Can I Bin a Pandas DataFrame Column and Count Values in Each Bin?

Pandas による列のビン化

データ操作では、多くの場合、値を意味のあるグループまたはビンに整理する必要があります。このコンテキストでは、pandas を使用して数値を含む列をビン化する方法を検討します。

質問:

数値を含むデータ フレーム列がある場合、次のようにします。それを値のカウントを持つビンとして視覚化します。具体的には、各ビンに含まれる値の数をどのように判断すればよいでしょうか?

答え:

オプション 1: pandas.cut を使用する

pandas.cut 関数を使用してビンを作成できます。以下に例を示します。

import pandas as pd

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

これは、指定された間隔に従ってビンを作成し、各値のビン割り当てを含む系列を返します。 value_counts を使用すると、各ビンの出現数をカウントできます。

オプション 2: numpy.searchsorted を使用する

別のアプローチは、numpy.searchsorted:

import numpy as np

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = np.searchsorted(bins, df['percentage'].values)
df['binned'].value_counts()
ログイン後にコピー
この関数は、各値が属する最初のビンのインデックスを返します。次に、value_counts を使用してビン数を決定します。

オプション 3: Groupby と Size を組み合わせる

パンダの groupby メソッドと size メソッドを使用することもできます。

s = df.groupby(pd.cut(df['percentage'], bins)).size()
ログイン後にコピー
これは、ビンの割り当てによってデータ フレームをグループ化し、値の数を含む系列を返します。

結論:

これらのメソッドを使用すると、数値列を効果的にビン化し、各ビンの値の数を取得し、値の分布についての洞察を得ることができます。

以上がPandas DataFrame 列をビン化し、各ビン内の値をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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