Python学习之:使用 pandas 产生 one-hot 编码

import pandas as pd

data = [['red',3]
        ,['green',5]
       ,['yellow',4]
       ,['red',6]]
columns = ['color','age']

df = pd.DataFrame(data,columns=columns)
df
color age
0 red 3
1 green 5
2 yellow 4
3 red 6
# 通过 get_dummies 方法将 Series 变成 one-hot的形式
one_hot_color = pd.get_dummies(df['color']
                               ,prefix='color'   # 产生的 one-hot 的新列的前缀名称是 color
                               ,prefix_sep='_')  # 产生的 one-hot 的新列的分隔符是 _
one_hot_color
color_green color_red color_yellow
0 0 1 0
1 1 0 0
2 0 0 1
3 0 1 0
# 通过 df.join 将数据合并
df.join(one_hot_color)
color age color_green color_red color_yellow
0 red 3 0 1 0
1 green 5 1 0 0
2 yellow 4 0 0 1
3 red 6 0 1 0

你可能感兴趣的:(日常学习,Python数据分析与挖掘,python,学习,开发语言)