pd.get_dummies函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pd.get_dummies函数
pandas库是Python中数据分析的重要工具,其中pd.get_dummies()函数是一个非
常有用的函数。
该函数将分类变量转换为哑变量,并以0和1表示分类变量的可能值。
在
本文中,将详细讨论pd.get_dummies()函数的用法,实现和应用,同时也将讨论它的参数和返回值。
用法:
函数原型为:pd.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
参数:
- data:DataFrame类型的数据集
- prefix:用于生成哑变量列名的前缀
- prefix_sep:用于分隔前缀和列名的分隔符
- dummy_na:是否为缺失值(NaN)创建一个哑变量列,默认为False
- columns:要进行哑变量转换的列名列表或名称或整数或布尔型索引器(表示哪些列是分类变量)
- sparse:是否生成稀疏数据,默认为False
- drop_first:是否通过删除第一个类别变量生成n-1列,以避免出现多重共线性问题,默认为False
- dtype:指定数据类型(返回数据的类型),如果没有给定,则根据数据推断类型。
返回值:
- DataFrame:包含哑变量的数据。
示例:
考虑一个数据集,包含学生的姓名、性别和城市,如下所示:
import pandas as pd
data = {"Name":["Sara", "John", "David", "Sandy", "Amber"], "Gender":["Female", "Male", "Male", "Female", "Female"], "City":["London", "Paris", "New York", "London", "Paris"]}
df = pd.DataFrame(data)
print(df)
这将产生以下输出:
Name Gender City
0 Sara Female London
1 John Male Paris
2 David Male New York
3 Sandy Female London
4 Amber Female Paris
现在,将对Gender和City列执行哑变量转换。
对于城市列,将使用前缀“city”,对于性别列,将使用前缀“gender”。
以下是使用pd.get_dummies()函数的代码:
# 哑变量转换
dummies = pd.get_dummies(df, prefix=["gender", "city"], columns=["Gender", "City"])
# 打印哑变量转换后的数据
print(dummies)
在输出的数据中,Gender和City列被替换为相应的哑变量列。
例如,
“gender_Female”列代表“Gender”列的“Female”值,然后使用0或1进行编码。
这可以帮助将分类变量转换为可处理的数据形式,以利用各种数据分析方法。