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

Pandas如何根据行Name值生成带0/1标记的分类新列

Pandas实现按id聚合的Name列0/1特征编码

你可以通过pandas快速实现该需求,以下是两种可直接运行的方案:

  • 方案1:独热编码+分组聚合(最简便)
    核心逻辑是先将Name列转为独热编码,再按id分组求和,同一个id下出现过的类别对应列结果为1,未出现为0。
import pandas as pd

# 构造示例DataFrame,你可以替换为自己的数据源
df = pd.DataFrame({
    'id': [100, 200, 100],
    'Name': ['Apple', 'Orange', 'Banana']
})

# 核心实现代码
result = pd.get_dummies(df, columns=['Name'], prefix='Name', dtype=int)\
         .groupby('id', as_index=False)\
         .sum()

# 打印查看结果
print(result)

运行输出和你预期的结构完全一致。

  • 方案2:透视表实现
    直接用透视表完成行列转换,自动补全缺失值为0:
result = df.pivot_table(
    index='id', 
    columns='Name', 
    aggfunc=lambda x: 1, 
    fill_value=0
).add_prefix('Name_').reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:39:05