python中get_dummies()用法示例详解
目录
- 1. 基本作用
- 2. 语法
- 常用php参数:
- 3. 示例讲解
- (1)对 Series 使用
- (2)对 DataFrame 中的列使用
- (3)加前缀
- (4)避免虚拟变量陷阱(drop_first=True)
- 总结
1. 基本作用
pandas.get_dummies()
用于将 分类变量(categorical variable) 转换为 哑变量/指示变量(Dummy Variables),也叫 独热编码(One-Hot Encoding)。
通俗点说:把字符串或类别列拆分成若干个二进制列(0 或 1),机器学习更容易处理。
2. 语法
pd.get_dummies(data, prefix=None, prefix_sep="_", dummy_na=False, columns=None, drop_first=False)
常用参数:
data:要转换的数据(Series 或 DataFrame)
prefix:新生成列的前缀
prefix_sep:前缀与值之间的分隔符(默认
_
)dummy_na:是否为缺失值生成一列(默认 False)
columns:指定要转换的列(DataFrame 时用)
drop_first:是否删除第一个类别(避免多重共线性,回归时常用)
3. 示例讲解
(1)对 Series 使用
import pandas as pd s = pd.Series(["red", "green", "blue", "red"]) dummies = pd.get_dummies(s) print(dummies)
输出:
blue green red 0 0 0 1 1 0 1 0 2 1 http://www.devze.com0 0 3 0 0 1
(2)对 DataFrame 中的列使用
df = pd.DataFrame({ "id": [1, 2, 3, 4], "color": ["red", "green", "blue", "red"], "size": ["S", "M", "L", "M"] }) # 对 color 列进行独热编码 df_dummies = pd.get_dummies(df, columns=["color"]) print(df_dummies)
输出:
id size color_blue color_green color_red 0 1 S 0 0 1 1 2 M 0 1 0 2 3 L 1 0http://www.devze.com 0 3 4 M 0 0 1
(3)加前缀
df_dummies = pd.get_dummies(df, columns=["size"], prefix="SIZE") print(df_dummies)
输出:
id color SIZE_L SIZE_M SIZE_S 0 1 red 0 0 1 1 2 green 0 1 0 2 3 blue 1 0 0 3 4 red 0 1 0
(4)避免虚拟变量陷阱(drop_first=True)
df_dummies = pd.get_dummies(df, columns=["color"], drop_first=True) print(df_dummies)
输出(少一列,避免多重共线性):
id size color_green color_red 0 1 S 0 1 1 2 M 1 0 2 3 L 0 0 3 4 M 0 android 1
✅ 总结:
get_dummies()
→ 分类变量转 0/1 矩阵columns
指定哪些列编码prefix
/prefix_sep
控制列名drop_first=True
→ 回归模型常用,避免虚拟变量陷阱
总结
到此这篇关于python中get_dummies()用法的文章就介绍到这了,更多相关python get_dummies()用法内容请搜索编程js客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论