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

pandas中将多分类tag列转换为二分类列的简便实现方法

实现方法

你可以直接用numpy.where实现,这是最简洁高效的方案,不需要提前构建完整映射字典,一行代码就能搞定:

import numpy as np
df['tag_binary'] = np.where(df['tag'] == 'pandas', 'pandas', 'non_pandas')

如果不想额外引入numpy,也可以用pandas自带的map搭配匿名函数实现:

df['tag_binary'] = df['tag'].map(lambda x: 'pandas' if x == 'pandas' else 'non_pandas')

还有一种更贴合pandas原生逻辑的写法,用Series.replace配合布尔判断:

df['tag_binary'] = (df['tag'] == 'pandas').replace({True: 'pandas', False: 'non_pandas'})

方案对比

  • 优先推荐numpy.where方案,数据量较大时性能远高于map/apply类方案,逻辑也更清晰易懂
  • 如果你的场景中后续可能扩展判断规则,匿名函数的方案后续修改条件会更灵活

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:39:03