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

如何在保留DataFrame索引的前提下批量将列值按条件转为二进制

快速实现DataFrame二进制转换并保留索引

直接用pandas原生方法就能解决,不用循环或逐列处理:

df = df.gt(0).astype(int)

方法说明

  • gt(0):对DataFrame每个元素判断是否大于0,返回结构完全一致的布尔型DataFrame,原索引和列名全部保留
  • astype(int):把布尔值直接转成整数(True→1,False→0),一步完成二进制转换

补充说明

你之前用df[:]=np.where(df>0, 1, 0)理论上不会丢失索引,大概率是后续操作或输出时的误判。不过上面的方法更贴合pandas的使用习惯,代码更简洁且能确保结构完整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:40:41