cut
函数是pandas
库中的一个函数,用于将连续的数值数据分割成几个离散的区间或“桶”。这个函数的主要作用是将连续变量转化为分类变量
以下是cut
函数的一些关键参数:
x
:要进行切割的数组或Series。bins
:定义区间边界的整数、序列或间隔索引。如果传入整数,则它定义了等宽的区间数量。labels
:用于表示每个区间的标签。默认情况下,区间是半开放的,即(left, right]
,除非设置right=False
。right
:默认为True
,表示区间是右闭合的。如果为False
,则区间是左闭合的。include_lowest
:是否包含第一个区间的左边界。默认为False
。
示例:
假设我们有以下体重数据(以公斤为单位):
weights = [50.5, 55.8, 60.2, 64.7, 70.1, 75.3, 80.6]
我们想将这些体重分为三个区间:50.0-59.9
, 60.0-69.9
, 和 70.0-80.0
。
使用cut
函数,我们可以这样做:
import pandas as pd
bins = [50.0, 60.0, 70.0, 80.0]
labels = ["50.0-59.9", "60.0-69.9", "70.0-80.0"]
categories = pd.cut(weights, bins, labels=labels, right=False)
print(categories)
输出:
['50.0-59.9', '50.0-59.9', '60.0-69.9', '60.0-69.9', '70.0-80.0', '70.0-80.0', '80.0-90.0']
注意:在这个示例中,我们使用了right=False
参数,这意味着区间是左闭合的,即[left, right)
。因此,例如,体重60.0
被分类为60.0-69.9
区间,而不是50.0-59.9
区间。
无论是整数还是浮点数,cut
函数的工作原理都是相同的,只是区间边界和标签可能会有所不同。