(pd.cut) 详解pandas.cut()(将数值分段)函数使用方法
pandas.cut()
是Pandas库中用来将连续数值数据分割成离散区间的函数。你可以指定分割的方式:通过设定分割的数量或直接定义区间边界。
这里我给你一个pandas.cut
的基本示例:
import pandas as pd
# 演示数据
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 将数据分割成4个区间
bins = pd.cut(data, bins=4)
print(bins)
print(bins.categories)
在这个例子中,我们有一个从0到9的数字列表。我们使用pd.cut
将这个列表分割成4个区间。在输出中,你可以看到分配给每个数据点的区间以及区间的范围。
如果你想要自定义区间的边界,可以这么做:
import pandas as pd
# 演示数据
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 定义区间边界
bins = [0, 2, 4, 6, 8, 10]
# 将数据分割到这些自定义的区间
categories = pd.cut(data, bins=bins)
print(categories)
print(categories.categories)
在这个例子中,bins
是一个包含区间边界的列表,pd.cut
函数根据这些边界将数据分割开。注意这里边界是左开右闭的,即第一个区间表示的是(0, 2]。
pandas.cut
还有一些其他有用的参数:
right
:布尔值,表示区间是左开右闭(True,缺省值)还是左闭右开(False)。labels
:用于标记返回的区间的字符串列表或布尔值False。retbins
:布尔值,若为True,则同时返回分割的边界值。
import pandas as pd
# 演示数据
data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 自定义标签
labels = ['小', '中', '大', '很大']
# 切分数据并赋予标签
categories, bin_edges = pd.cut(data, 4, labels=labels, retbins=True)
print(categories)
print(bin_edges)
在这个例子中,我们除了分割数据外,还给每个分割的区间赋了一个标签。通过retbins
参数我们也获取了每个区间的边界值。这在你需要知道每个标签具体代表的数值范围时非常有用。
当你在实际情况中使用pandas.cut
时,你的数据很可能来自于一个DataFrame,你可能需要将分割后的结果作为新的列加入到DataFrame中去。
import pandas as pd
# 创建DataFrame
df = pd.DataFrame({'data': [0, 1, 5, 9, 10, 15, 20, 25]})
# 自定义分区边界
bins = [0, 5, 10, 20, 30]
# 切分数据
df['category'] = pd.cut(df['data'], bins=bins)
print(df)
在这个DataFrame的例子中,我们基于原来的数值列创建了一个新的类别列,它根据我们所指定的边界来将数据分类。
以上就是pandas.cut
的基本使用方法和示例代码。根据你的具体需求,你可以调整bins
、labels
等参数来实现更复杂的数据分割功能。
(destination host unreachable) Linux报 “host unreachable” 异常的原因以及解决办法 host unreachable异常解决步骤 全网首发(图文详解1)
(序列一) Python 序列详解(含索引、切片) Python 序列基本数据结构 全网首发(图文详解1)