【机器学习】pd.get_dummies()

get_dummies

是利用pandas实现one hot encode的方式

机器学习之One-Hot Encoding详解 - 简书 (jianshu.com)icon-default.png?t=LBL2https://www.jianshu.com/p/cb344e1c860a

one hot encode 独热编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。

pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False) 
import pandas as pd
df = pd.DataFrame([  
            ['green' , 'A'],   
            ['red'   , 'B'],   
            ['blue'  , 'A']])  

df.columns = ['color',  'class'] 
pd.get_dummies(df) 

在这里插入图片描述

每个类别的值都进行0-1编码

在这里插入图片描述

上述执行完以后再打印df 出来的还是get_dummies 前的图,因为你没有写

df = pd.get_dummies(df)


可以对指定列进行get_dummies

pd.get_dummies(df.color)


也可以将指定列进行get_dummies 后合并到元数据中

df = df.join(pd.get_dummies(df.color))

在这里插入图片描述

将指定列进行get_dummies 后合并到元数据中
df = df.join(pd.get_dummies(df.color)) 

在这里插入图片描述

 


import os

os.makedirs(os.path.join('..', 'data'), exist_ok=True)
data_file = os.path.join('..', 'data', 'house_tiny.csv')
with open(data_file, 'w') as f:
    f.write('NumRooms,Alley,Price\n')  # 列名
    f.write('NA,Pave,127500\n')  # 每行表示一个数据样本
    f.write('2,NA,106000\n')
    f.write('4,NA,178100\n')
    f.write('NA,NA,140000\n')


import pandas as pd
data = pd.read_csv(data_file)
print(data)


input , output = data.iloc[:, 0:2], data.iloc[:, 2]
input = input.fillna(input.mean())
print(input)

  • 14
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋气月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值