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

Python Pandas:重新编码变量的级别

Python Pandas:重新编码变量的级别

PHP
杨__羊羊 2023-11-09 20:11:44
我在 pandas 数据框中有一个分类变量,varA. 它有 4 个级别:[1, 3, 1.0, 3.0],而不仅仅是 [1, 3]。我正在努力将 1.0 映射到 1。示例数据集:df[['varA', 'ID']].groupby(['varA']).count()         countvarA    1        1001.0      103        3003.0      30我尝试过的:df[['varA']].replace(1.0, 1)但一切都没有改变。我确信这是一个简单而微不足道的问题,但我一直无法解决它。我期待:         countvarA    1        1103        330
查看完整描述

2 回答

?
慕姐4208626

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

列中的数据varA可以是文本,也可以是文本、浮点数和整数的混合。您可以首先尝试将值转换为浮点数,然后将结果转换为整数:

df['varA'] = df['varA'].astype(float).astype(int)


查看完整回答
反对 回复 2023-11-09
?
catspeake

TA贡献1111条经验 获得超0个赞

您可以使用downcast以下参数pd.to_numeric:


df['varA'] = pd.to_numeric(df['varA'], downcast='integer')

         count

varA    

1        100

1.0      10

3        300

3.0      30

注意:如果varA是您的索引(如图所示),您可以通过df.index而不是访问它df['varA']。


查看完整回答
反对 回复 2023-11-09
  • 2 回答
  • 0 关注
  • 109 浏览

添加回答

举报

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