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()用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python之tensorflow手把手实例讲解猫狗识别实现
要说到深度学习图像分类的经典案例之一,那就是猫狗大战了。猫和狗在外观上的差别还是挺明显的,无论是体型、四肢、脸庞和毛发等等, 都是能通过肉眼很容易区分的。那么如何让机器来识别猫和狗呢?网上已经有不少人写过这案例了,我也来尝试下练练手。2021-09-09
tensorflow 20:搭网络,导出模型,运行模型的实例
这篇文章主要介绍了tensorflow 20:搭网络,导出模型,运行模型的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05
Python中使用kitti数据集实现自动驾驶(绘制出所有物体的行驶轨迹)
这篇文章主要介绍了Python中使用kitti数据集实现自动驾驶——绘制出所有物体的行驶轨迹,本次内容主要是画出kitti车的行驶的轨迹,需要的朋友可以参考下2022-06-06


最新评论