Pandas DataFrame.cut()

2024 年 8 月 29 日 | 4 分钟阅读

当您需要将数据值分割和排序到不同的区间时,会调用 cut() 方法。它用于将连续变量转换为分类变量。它还可以将元素数组分隔到不同的区间。该方法仅适用于一维类数组对象。

如果我们有大量的标量数据并对其进行一些统计分析,我们可以使用 cut() 方法。

语法

参数

x: 它通常指作为要进行区间化的输入的数组。 该数组应为一维数组。

bins: 它指的是定义分割的区间边缘的 int标量序列IntervalIndex 值。 在大多数情况下,我们有非常大规模的数值数据。 因此,我们可以将这些值分组到不同的区间中,以轻松地执行描述性统计,作为数据模式的概括。 将数据分到不同组的标准如下

  • int: 它定义了 x 范围内等宽区间的数量。 我们还可以将 x 的范围在两侧扩展 .1%,以包括 x 的最小值和最大值。
  • 标量序列: 它主要定义了非均匀宽度允许的区间边缘。
  • IntervalIndex: 它指的是要在函数中使用的确切区间。 应该注意的是,区间的 IntervalIndex 必须是非重叠的。
  • right: 它包含一个布尔值,用于检查 bins 是否包含最右边的边缘。 其默认值为 True,当 bins
  • labels: 这是一个可选参数,主要指的是数组或布尔值。 它的主要任务是为返回的指定标签。 标签的长度必须与生成的区间相同。 如果我们将其值设置为 False,则它仅返回区间的整数指示符。 如果 bins 是 IntervalIndex,则忽略此参数。
  • retbins: 它指的是一个布尔值,用于检查是否返回区间。 当区间以标量值提供时,通常很有用。 retbins 的默认值为 False。
  • precision: 它用于存储和显示区间标签。 它包含一个整数值,默认值为 3
  • include_lowest: 它包含一个布尔值,用于检查第一个区间是否应为左闭区间。
  • duplicates: 这是一个可选参数,用于确定如果区间边缘不唯一,是引发 ValueError 还是删除重复值。

返回值

此方法返回两个对象作为输出,如下所示

  1. out: 它主要指的是 CategoricalSeriesndarray,它是一个类数组对象,表示 的每个值的相应区间。 这些对象取决于 labels 的值。 可以返回的可能值如下
    • True: 这是默认值,它返回 Series 或 Categorical 变量。 存储在这些对象中的值是 Interval 数据类型。
    • 标量序列: 它也返回 Series 或 Categorical 变量。 存储在这些对象中的值是序列的类型。
    • False: false 值返回整数的 ndarray。
  2. bins: 它主要指的是 ndarray

示例 1: 以下示例将数字分割到不同的区间中

输出

    num
0    48
1    36
2     7
3     2
4    25
5     2
6    13
7     5
8     7
9    25
10   10
    num     num_bins
0    48  (1.0, 25.0]
1    36  (1.0, 25.0]
2     7  (1.0, 25.0]
3     2  (1.0, 25.0]
4    25          NaN
5     2  (1.0, 25.0]
6    13  (1.0, 25.0]
7     5  (1.0, 25.0]
8     7  (1.0, 25.0]
9    25  (1.0, 25.0]
10   10          NaN
[(1.0, 25.0], NaN]
Categories (1, interval[int64]): [(1, 25]]

示例 2: 以下示例显示了如何向区间添加标签

输出

   num
0    9
1    9
2    4
3    9
4    4
5    7
6    2
   num  nums_labels
0    9        Highs
1    9        Highs
2    4        Lows
3    9        Highs
4    4        Lows
5    7        Highs
6    2        Lows
[Highs, Lows]
Categories (2, object): [Lows < Highs]

下一个主题DataFrame.describe()