Python 在一列上安装一个热编码器,并应用于多个列
我有一个带有两个分类列的数据帧,包含相同的字符串集,我想对其进行一次热编码。 列可以包含的字符串集已确定,并且两列之间的热编码必须一致。两列都包含所有可能的值,甚至多次 在下面的示例中,我将编码器放在一个包含列可以包含的字符串集的列表上。然后转换数据帧的列 问题1:这有意义吗 问题2:如何为两列的一个热编码返回的列指定不同的名称?现在,我可以将这些列放在数据报中,但它们有共同的名称。这是个问题,对吗?如何避免呢Python 在一列上安装一个热编码器,并应用于多个列,python,pandas,encoding,Python,Pandas,Encoding,我有一个带有两个分类列的数据帧,包含相同的字符串集,我想对其进行一次热编码。 列可以包含的字符串集已确定,并且两列之间的热编码必须一致。两列都包含所有可能的值,甚至多次 在下面的示例中,我将编码器放在一个包含列可以包含的字符串集的列表上。然后转换数据帧的列 问题1:这有意义吗 问题2:如何为两列的一个热编码返回的列指定不同的名称?现在,我可以将这些列放在数据报中,但它们有共同的名称。这是个问题,对吗?如何避免呢 #list of values all_stuff = ['Boat','Bike'
#list of values
all_stuff = ['Boat','Bike']
#create dataframe
data = {'Stuff': ['Bike', 'Boat'], 'More Stuff': ['Boat', 'Bike']}
index = range(len(data['Stuff']))
columns = ['Stuff','More Stuff']
df = pd.DataFrame(data, index=index, columns=columns)
df
我认为您可以使用pandas功能:
df = pd.DataFrame({'Stuff': ['Bike', 'Boat'], 'More Stuff': ['Boat', 'Bike']})
pd.get_dummies(df)
输出:
Stuff_Bike Stuff_Boat More Stuff_Bike More Stuff_Boat
0 1 0 0 1
1 0 1 1 0
Stuff_Bike Stuff_Boat More Stuff_Bike More Stuff_Boat
0 1 0 0 1
1 0 1 1 0