python中get_dummies()用法示例详解
作者:sofaraway13
get_dummies函数是Python中的一个函数,用于将分类变量转换为哑变量,下面这篇文章主要介绍了python中get_dummies()用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
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 0 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 0 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 1
✅ 总结:
get_dummies()→ 分类变量转 0/1 矩阵columns指定哪些列编码prefix/prefix_sep控制列名drop_first=True→ 回归模型常用,避免虚拟变量陷阱
总结
到此这篇关于python中get_dummies()用法的文章就介绍到这了,更多相关python get_dummies()用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
