开发者

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)!

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜