文章目录
- 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
- 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
- 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
- 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 → 回归模型常用,避免虚拟变量陷阱
目录
- 1. 基本作用
- 2. 语法
- 常用参数:
- 3. 示例讲解
- (1)对 Series 使用
- (2)对 DataFrame 中的列使用
- (3)加前缀
- (4)避免虚拟变量陷阱(drop_first=True)
- 总结
pandas.get_dummies() 用于将 分类变量(categorical variable) 转换为 哑变量/指示变量(Dummy Variables),也叫 独热编码(One-Hot Encoding)。
👉 通俗点说:把字符串或类别列拆分成若干个二进制列(0 或 1),机器学习更容易处理。
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:是否删除第一个类别(避免多重共线性,回归时常用)
data:要转换的数据(Series 或 DataFrame)
prefix:新生成列的前缀
prefix_sep:前缀与值之间的分隔符(默认 _)
dummy_na:是否为缺失值生成一列(默认 False)
columns:指定要转换的列(DataFrame 时用)
drop_first:是否删除第一个类别(避免多重共线性,回归时常用)
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
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
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
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()用法内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- python strip()函数 介绍
- Python自定义函数的创建、调用和函数的参数详解
- python del()函数用法
- python中append函数用法讲解
- Python入门篇之函数