在数据分析中,将数据分入类别以简化其表示和分析通常很有用。这是处理数字数据时的常用技术,例如处理百分比时。
假设我们有一个名为“percentage”的数据框列,其中包含数值,如下所示:
df['percentage'].head() 46.5 44.2 100.0 42.12
要对此列进行分箱并获取每个分箱的值计数,我们可以使用 pd.cut 函数。有两种方法可以实现此目的:
将 pd.cut 与 value_counts 结合使用:
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
此输出表示 bin (0, 1]、(1, 5]、(5, 10] 和 (10, 25]) 中没有值。三个值落入在 bin (25, 50] 中,并且有一个值落在 bin (50, 100] 中。
以上是如何有效地对 Pandas 列进行分箱并对每个分箱中的值进行计数?的详细内容。更多信息请关注PHP中文网其他相关文章!