粘贴一下原函数,该函数主要用于对类别型特征做 One-Hot 编码(独热编码)
# date:类似数组、系列或数据帧
# dtype:新列的数据类型,只允许使用单个 dtype,默认布尔值
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
get _ Dummies 函数在 Pandas1.6.0版本之前返回 numpy.uint8,无符号八位整数。
在1.6.0版本开始更改为默认返回 numpy.bool ,numpy 布尔值。
import pandas as pd
df = pd.DataFrame([
['green' , 'A'],
['red' , 'B'],
['blue' , 'A']])
#我们这里形成一个(3,2)的dataframe
df.columns = ['color', 'class']
pd.get_dummies(df)
输出新增列默认是布尔类型
修改一下代码,增加参数dtype=int
import pandas as pd
df = pd.DataFrame([
['green' , 'A'],
['red' , 'B'],
['blue' , 'A']])
#我们这里形成一个(3,2)的dataframe
df.columns = ['color', 'class']
pd.get_dummies(df,dtype=int)
输出:新增列类型变为了int类型
官方文档:点击