データ分析では、データの表現と分析を簡素化するためにデータをカテゴリにビン化すると便利なことがよくあります。これは、パーセンテージを扱うときなど、数値データを扱うときの一般的な手法です。
次に示すように、数値を含む「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 サイトの他の関連記事を参照してください。