微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Python 对数据帧中的特征列表进行分类编码的 For 循环

如何解决使用 Python 对数据帧中的特征列表进行分类编码的 For 循环

我想弄清楚如何编写一个 for 循环来对特征列表执行分类编码。

df = ['TRY','LOC','OUTPUT','TYPE_A','SIGNAL','A-B  SPOT']

目前,这就是我要做的,但似乎是重复的。

obj_df["TRY"] = obj_df["TRY"].astype('category')
obj_df["TRY_cat"] = obj_df["TRY"].cat.codes

我尝试按照示例编写它并尝试使用库,但我认为逻辑刚好。

根据我目前的处理方式,有没有办法做到这一点?理想情况下,我也想将其放入一个新的数据框中。

提前致谢!

解决方法

试试这个:

import pandas as pd
df = pd.DataFrame({'Color': {0: 'red',1: 'green',2: 'yellow',3: 'navy_blue'},'Shape': {0: 'square',1: 'circle',2: 'triangle',3: 'cube'},'Description': {0: 'happy',1: 'sad',2: 'mad',3: 'disgust'}})
cols = ['Color','Shape','Description']

df[cols] = df[cols].astype('category')
df[[col + '_cat' for col in cols]] = pd.concat([df[col].cat.codes for col in cols],axis=1)

print(df)
#        Color     Shape Description  Color_cat  Shape_cat  Description_cat
# 0        red    square       happy          2          2                1
# 1      green    circle         sad          0          0                3
# 2     yellow  triangle         mad          3          3                2
# 3  navy_blue      cube     disgust          1          1                0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。