如何在熊猫中将字符串转换为整数 1

我在熊猫中有以下数据框


  cust_id     desktop           laptop          accessories

  123         2020-02-22        2020-01-01      0

  234         2019-02-02        0               0

  211         2020-02-23        0               0

我想要的数据框如下


  cust_id     desktop           laptop          accessories

  123         1                 1               0

  234         1                 0               0

  211         1                 0               0

除了 0 之外的任何值都必须转换为 1。所有列都是数据类型object


如何在熊猫中做到这一点?


ITMISS
浏览 100回答 3
3回答

幕布斯7119047

你可以做df.update((df.loc[:,'desktop':].astype(str)!='0').astype(int))df   cust_id desktop laptop  accessories0      123       1      1            01      234       1      0            02      211       1      0            0 

鸿蒙传说

这对我有用:df = df.applymap(lambda x: 1 if x != 0 else 0)输出:         desktop  laptop  accessoriescust_id                              123            1       1            0234            1       0            0211            1       0            0

森栏

您还可以使用np.where:In [47]: import numpy as npIn [48]: df.desktop = np.where(df.desktop.ne('0'), 1, 0)    In [49]: df.laptop = np.where(df.laptop.ne('0'), 1, 0)  In [50]: dfOut[50]:    cust_id  desktop  laptop  accessories0      123        1       1            01      234        1       0            02      211        1       0            0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python