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

如何在Pandas中对多列批量应用重编码规则并排除指定列

实现方案

首先筛选需要处理的目标列,两种筛选逻辑可选:

  • 排除指定列(符合你要求的「除Name和Year外所有列」需求):
target_cols = [col for col in Table.columns if col not in ['Name', 'Year']]
  • 仅匹配V开头的列(更精准,避免后续新增其他非V列被误处理):
target_cols = [col for col in Table.columns if col.startswith('V')]

推荐方案:向量化运算(性能最优,代码最简)

直接对所有目标列批量做判断转整数,完全匹配你的重编码规则:

  • 如果直接覆盖原列:
Table[target_cols] = (Table[target_cols] >= 4).astype(int)
  • 如果需要保留原列,生成带_F后缀的新列(和你原来的单列命名习惯一致):
Table[[f"{col}_F" for col in target_cols]] = (Table[target_cols] >= 4).astype(int)

备选方案:apply批量处理(和你原有逻辑习惯一致)

如果你更习惯用apply的实现逻辑,也可以直接对目标列批量应用规则:

Table[target_cols] = Table[target_cols].apply(lambda ser: ser.map(lambda x: 0 if x <4 else 1))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 12:36:10