python映射类型list_python – pandas将类别映射到整数值

我可以将分类列转换为它们的分类代码,但是如何获得其映射的准确图片?

例:

df = pd.DataFrame({'col1':[1,2,3,4,5], 'col2':list('abcab'), 'col3':list('ababb')})

找到不是数字的列

df_not_num = df.select_dtypes(exclude = [np.number,np.int16,np.bool,np.float32] )

not_num_cols = list(df_not_num)

>>> ['col2','col3']

接下来,我创建第一个数据帧的副本,以便将类别引用到其代码中,并对两个数据帧进行分类.

df_labels = df.copy()

for col in not_num_cols:

df_labels[col] = df_labels[col].astype('category')

df[col] = df[col].astype('category')

df[col] = df[col].cat.codes

df现已分类并已编码.

df

col1 col2 col3

1 0 0

2 1 1

3 2 0

4 0 1

5 1 1

如何准确将猫代码映射到猫类?

下面的stackoverflow响应表示枚举类别.但是,我不确定枚举是否是cat.codes生成整数值的方式.有更准确的方法吗?

>>> dict( enumerate(df.five.cat.categories) )

{0: 'bad', 1: 'good'}

以上述格式获得映射的准确方法是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值