首页 >后端开发 >Python教程 >如何使用 Pandas.cut 和 NumPy.searchsorted 有效地对 Pandas 列进行分类?

如何使用 Pandas.cut 和 NumPy.searchsorted 有效地对 Pandas 列进行分类?

Barbara Streisand
Barbara Streisand原创
2024-12-09 11:17:041049浏览

How Can I Effectively Bin a Pandas Column Using Pandas.cut and NumPy.searchsorted?

对 Pandas 列进行分箱

分箱涉及将连续数据列划分为离散间隔以分析数据分布。要使用 Pandas 对数值列进行分箱,我们可以探索各种方法。

Pandas.cut 方法

Pandas 提供了 cut 函数来执行分箱。它将要分箱的系列和分箱边缘列表作为参数。默认情况下,它返回带有 bin 标签的分类列。例如:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)

NumPy.searchsorted 方法

NumPy 的 searchsorted 函数也可以用于分箱。它返回系列中每个值所属的 bin 的索引。然后,结果值可用于创建分箱类别:

df['binned'] = np.searchsorted(bins, df['percentage'].values)

计算值计数

创建分箱列后,我们可以计算值计数以确定观测值的数量每个垃圾箱。这可以使用 value_counts 或 groupby 以及聚合大小来实现:

s = pd.cut(df['percentage'], bins=bins).value_counts()
s = df.groupby(pd.cut(df['percentage'], bins=bins)).size()

通过使用这些技术,我们可以有效地对 Pandas 中的数字数据列进行分类,以深入了解它们的分布。

以上是如何使用 Pandas.cut 和 NumPy.searchsorted 有效地对 Pandas 列进行分类?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn