首页 > 解决方案 > 如何在熊猫数据框中将“一个热编码”列名从字节解码为字符串

问题描述

我对我的数据框中的分类变量进行了一次热编码,并且我的列按以下方式重命名..

before one hot encoding

d = {'PROD_ID': ['OM', 'RM', 'VL']
df = pd.DataFrame(data=d)
full_data = pd.get_dummies(data, drop_first=True)


After one hot encoding

full_data

PROD_ID_b'OM' 
PROD_ID_b'VL'
PROD_ID_b'RM'

I need to remove b and '' from above dataframe, i.e i need PROD_ID_OM 
                                                           PROD_ID_VL  
                                                           PROD_ID_RM

标签: python-3.xpandas

解决方案


您可以将前缀参数传递给get_dummies方法,如下所示,然后它将根据需要将前缀添加到所有列。

df = pd.DataFrame({'PROD_ID': ['OM', 'RM', 'VL']})
nwdf = pd.get_dummies(df,prefix=['PROD_ID'])
print(nwdf.columns)

输出:索引(['PROD_ID_OM', 'PROD_ID_RM', 'PROD_ID_VL'], dtype='object')

在此处输入图像描述


推荐阅读