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

如何用单命令批量归一化Pandas DataFrame指定多列数值?

批量处理指定列的归一化方法

你完全可以用单条命令批量修改这两列,不需要单独处理每一列,下面是几种可行的方案:

  • 利用布尔值转整数的简洁写法
    因为判断值是否大于1的结果是布尔值(True/False),而布尔值转成整数后True对应1、False对应0,刚好符合你的需求:

    df.loc[:, ['cholesterol', 'gluc']] = (df.loc[:, ['cholesterol', 'gluc']] > 1).astype(int)
    
  • 使用applymap自定义转换逻辑
    如果需要更明确的判断逻辑,可以用applymap对选中的每一列的每个元素做处理:

    df.loc[:, ['cholesterol', 'gluc']] = df.loc[:, ['cholesterol', 'gluc']].applymap(lambda x: 0 if x == 1 else 1)
    
  • 用np.where批量处理
    你提到的np.where也支持对整个选中的列集合操作,不需要单独写两次:

    import numpy as np
    df.loc[:, ['cholesterol', 'gluc']] = np.where(df.loc[:, ['cholesterol', 'gluc']] == 1, 0, 1)
    

以上三种方法都是通过df.loc[:, ['cholesterol', 'gluc']]选中目标列后,用单条命令完成批量修改,直接同步更新原DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 11:58:14