get_dumines() 函数,用于将分类变量转换为哑变量

1. get_dummies() 函数的基本用法

get_dummies() 函数可以将DataFrame中的分类变量(通常是字符串类型)转换为哑变量,每个类别对应一个哑变量列,其中包含1和0的值,表示该类别是否出现。

python 复制代码
import pandas as pd

# 创建一个包含分类变量的DataFrame
df = pd.DataFrame({
    'color': ['red', 'blue', 'green', 'blue'],
    'shape': ['circle', 'square', 'circle', 'triangle']
})

# 使用get_dummies()转换分类变量
dummies = pd.get_dummies(df, columns=['color', 'shape'])
print(dummies)

2. 处理缺失值

在使用 get_dummies() 之前,您需要决定如何处理DataFrame中的缺失值。以下是几种处理缺失值的方法:

  1. 删除包含缺失值的行 :

    如果数据集中的缺失值不多,可以选择删除这些行。

    python 复制代码
    df = df.dropna()
  2. 填充缺失值 :

    如果删除缺失值会导致数据量大幅减少,可以选择填充这些缺失值。填充策略可以是填充为最常见的值、中位数、众数或者一个特定的值。

    python 复制代码
    df['column'] = df['column'].fillna('missing')
  3. 在 get_dummies() 中处理缺失值 :
    get_dummies() 函数允许您指定如何处理缺失值。例如,您可以将缺失值视为一个单独的类别。

    python 复制代码
    dummies = pd.get_dummies(df, columns=['color', 'shape'], dummy_na=True)

3. 示例代码

以下是一个完整的示例,展示了如何在处理缺失值后使用 get_dummies() 函数:

python 复制代码
import pandas as pd

# 创建一个包含缺失值的DataFrame
df = pd.DataFrame({
    'color': ['red', 'blue', None, 'blue'],
    'shape': ['circle', 'square', 'circle', None]
})

# 填充缺失值
df['color'].fillna('unknown', inplace=True)
df['shape'].fillna('unknown', inplace=True)

# 使用get_dummies()转换分类变量
dummies = pd.get_dummies(df, columns=['color', 'shape'])
print(dummies)

输出结果:

sql 复制代码
   color_blue  color_red  color_unknown  shape_circle  shape_square  shape_unknown
0           0         1              0            1            0             0
1           1         0              0            0            1             0
2           0         0              1            1            0             0
3           1         0              0            0            0             1

在这个结果中:

color_blue、color_red 和 color_unknown 是从 color 列生成的哑变量列,分别表示颜色为蓝色、红色和未知的颜色。

shape_circle、shape_square 和 shape_unknown 是从 shape 列生成的哑变量列,分别表示形状为圆形、正方形和未知的形状。

每一列中的1表示对应的类别在该行中出现,0表示没有出现。这样,您就可以使用这些哑变量进行进一步的数据分析或机器学习建模了。

在这个示例中,我们首先填充了缺失值,然后使用 get_dummies() 函数将分类变量转换为哑变量。这样可以确保在转换过程中不会丢失任何信息。希望这次的解释更加清晰,并且能够帮助您正确使用 get_dummies() 函数。

将分类标签转换为模型可以处理的数值格式

相关推荐
weixin_45776000几秒前
基于 YOLO11m-Pose 的动物姿态估计系统:从 Animal-Pose 标注到 Python 桌面部署
人工智能·python·深度学习
林伽一16 分钟前
每任务成本成为模型选型新标尺,AI基础设施走向“可验证“ | 林伽一 · AI科技日报 | 2026年09月24日
人工智能·科技·ai
Jucai_in_AI40 分钟前
AI岗位能力建模:从一份岗位说明书到一张胜任力图谱的技术路线
人工智能·产品
HIT_Weston43 分钟前
233、【AI】【模型部署】基座模型研究:基座与 Instruct 的差别
人工智能·模型部署
周杰伦fans1 小时前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#
u0111026751 小时前
Blob URL 与 Base64 怎么选?图片预览中的内存和性能差异
人工智能·深度学习·ai作画
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-09-24
人工智能·深度学习·神经网络·搜索引擎·百度
AI早餐汇1 小时前
飞猪首席技术官陈烨丨飞猪AI Native研发一年实录
人工智能
桃西西呀2 小时前
Laya 源码级原理拆解之一:整体架构与运行入口
人工智能·llm·ai编程
拉你进_教堂2 小时前
小龙虾技能之【Intelligent Public Smoking Detection Skill | 公共场所吸烟行为智能检测技能】简介
人工智能·计算机视觉·多模态大模型·openclaw小龙虾技能