数据分箱:决策树得到特征的分箱区间后后怎么映射到原数据中?

以下是将bins_intervals的值映射回原数据的示例代码:

import pandas as pd
import numpy as np

# 假设原数据
data = pd.DataFrame({
    'feature_to_bin': [10, 20, 30, 40, 50, 60, 70, 80, 90]
})

# 假设决策树得到的分箱区间
bins_intervals = [(0, 30), (30, 60), (60, 90)]

# 创建一个新的列用于存储分箱结果
data['binned_feature'] = None

# 遍历原数据中的每个值,确定其所属的分箱并映射回区间描述
for index, row in data.iterrows():
    value = row['feature_to_bin']
    for bin_index, interval in enumerate(bins_intervals):
        if interval[0] <= value < interval[1]:
        	# data.at[index, 'binned_feature'] = f'Bin {bin_index + 1}'
            data.at[index, 'binned_feature'] = f'{interval[0]}-{interval[1]}'
            break
    else:
        # 如果没有匹配到任何分箱,可以进行特殊处理,比如标记为其他类别
        data.at[index, 'binned_feature'] = 'Other'

print(data)

在这个例子中,我们将原数据中的每个值与分箱区间进行比较,确定其所属的分箱,并将分箱结果映射回对应的区间描述,存储在新的列中。如果一个值不匹配任何分箱,可以根据需要进行特殊处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rubyw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值