首页 > 后端开发 > Python教程 > 如何将 Pandas DataFrame 中的数字数据分箱并对每个分箱内的值进行计数?

如何将 Pandas DataFrame 中的数字数据分箱并对每个分箱内的值进行计数?

Barbara Streisand
发布: 2024-12-15 20:55:09
原创
739 人浏览过

How Can I Bin Numeric Data in a Pandas DataFrame and Count Values within Each Bin?

用 pandas 对列进行装箱以获取值计数

在 pandas 数据框中处理数字数据时,装箱可能很有用将数据划分为特定范围进行分析。此过程称为分箱。

要对 pandas 中的列进行分箱,您可以使用以下步骤:

  1. 使用 bins 参数定义分箱范围。
  2. 使用cut函数在数据框中创建一个新列。
  3. 使用值计数或groupby来获取每个列中值的计数bin.

示例:

考虑以下数据框,其中包含名为“百分比”的数字列:

import pandas as pd
import numpy as np

df = pd.DataFrame({'percentage': [46.5, 44.2, 100.0, 42.12]})
登录后复制

要装箱将“百分比”栏插入以下内容bins:

bins = [0, 1, 5, 10, 25, 50, 100]
登录后复制

您可以按如下方式使用 cut 函数:

df['binned'] = pd.cut(df['percentage'], bins=bins)
登录后复制

这将在包含 bin 标签的数据框中创建一个名为“binned”的新列。

要获取每个 bin 内的值计数,您可以使用 value_counts方法:

print(df['binned'].value_counts())
登录后复制

输出:

(25, 50]     3
(50, 100]    1
登录后复制

或者,您可以使用 groupby 并聚合大小:

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
登录后复制

这为您提供每个箱内的值的计数。

以上是如何将 Pandas DataFrame 中的数字数据分箱并对每个分箱内的值进行计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板