假设我有一个类似的dataframe

我想在“胆固醇”和“ gluc”列中标准化数据,以便如果值为1,则它变为0,如果它大于1,则它变为1(基本上是0总是好,1总是好坏)。我可以使用np.where()单独对每个列进行此操作,但是我很好奇是否有一种使用单个命令更改两个列的方法,但是我没有在线找到任何相关的内容。

我可以从用df.loc[:, ['cholesterol', 'gluc']]切片列开始,该列创建了两个列的视图。有没有一种方法可以用一个命令更改此视图,还是我仍然必须单独更改每列?

分析解答

这样尝试:

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