You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Pandas DataFrame中对Cost列分箱后生成独热编码并拼接至原表

Pandas实现Cost列分箱与独热编码拼接

需求说明

给定如下结构的DataFrame:

序号Cost
110.5
234
3755
41203
5323

需要对Cost列设置N个分箱(示例为5个),生成独热编码向量后拼接至原DataFrame,得到目标结构的表格。

实现步骤与代码

  1. 导入依赖库
import pandas as pd
  1. 构造示例DataFrame
df = pd.DataFrame({
    '序号': [1, 2, 3, 4, 5],
    'Cost': [10.5, 34, 755, 1203, 323]
})
  1. 对Cost列进行等宽分箱
    使用pd.cut()实现直方图式的等宽分箱,设置分箱数量为5,同时指定include_lowest=True确保最小值被包含在第一个分箱中:
df['bin'] = pd.cut(df['Cost'], bins=5, include_lowest=True)
  1. 生成独热编码
    使用pd.get_dummies()对分箱结果进行独热编码,设置prefix=''去掉默认前缀,并重命名列名为1到5:
one_hot = pd.get_dummies(df['bin'], prefix='')
one_hot.columns = [str(i) for i in range(1, 6)]
  1. 拼接原DataFrame与独热编码结果
    用pd.concat()将原DataFrame和独热编码数据按列拼接,最后删除临时的bin列:
result_df = pd.concat([df.drop('bin', axis=1), one_hot], axis=1)

最终结果

执行上述代码后,得到的result_df结构如下:

序号Cost12345
110.510000
23401000
375500010
4120300001
532300100

内容的提问来源于stack exchange,提问作者Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:34:54