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()
オプション 3: Groupby と Size を組み合わせる
パンダの groupby メソッドと size メソッドを使用することもできます。
s = df.groupby(pd.cut(df['percentage'], bins)).size()
結論:
これらのメソッドを使用すると、数値列を効果的にビン化し、各ビンの値の数を取得し、値の分布についての洞察を得ることができます。以上がPandas DataFrame 列をビン化し、各ビン内の値をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。