为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

ITMISS 2023-03-01 16:34:30
我在熊猫中有以下数据框  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如何在熊猫中做到这一点?
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

你可以做


df.update((df.loc[:,'desktop':].astype(str)!='0').astype(int))

df

   cust_id desktop laptop  accessories

0      123       1      1            0

1      234       1      0            0

2      211       1      0            0 


查看完整回答
反对 回复 2023-03-01
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

这对我有用:


df = df.applymap(lambda x: 1 if x != 0 else 0)

输出:


         desktop  laptop  accessories

cust_id                              

123            1       1            0

234            1       0            0

211            1       0            0


查看完整回答
反对 回复 2023-03-01
?
森栏

TA贡献1810条经验 获得超5个赞

您还可以使用np.where

In [47]: import numpy as np


In [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]: df

Out[50]: 

   cust_id  desktop  laptop  accessories

0      123        1       1            0

1      234        1       0            0

2      211        1       0            0


查看完整回答
反对 回复 2023-03-01
  • 3 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信