pd.get_dummies()
是 Pandas 库中用于独热编码(One-Hot Encoding)的函数。它的作用是将分类(离散)变量的每个不同取值都拓展为一个新的二进制特征(0或1),从而方便机器学习模型处理。
函数签名为:
pd.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
其中一些常用参数包括:
-
data
: 要进行独热编码的 DataFrame 或 Series。 -
prefix
: 生成的独热编码列的前缀。 -
prefix_sep
: 生成的独热编码列的前缀和原始列名之间的分隔符。 -
dummy_na
: 是否为原始数据中的缺失值生成独热编码列。 -
columns
: 要进行独热编码的列的名称,如果指定,则只对这些列进行操作。 -
drop_first
: 是否删除第一个独热编码列,以避免共线性问题。
下面是一个简单的示例:
import pandas as pd
# 创建一个包含分类特征的DataFrame
data = {'color': ['red', 'green', 'blue', 'green', 'red']}
df = pd.DataFrame(data)
# 对分类特征进行独热编码
df_encoded = pd.get_dummies(df, prefix='color')
print(df_encoded)
输出:
color_blue color_green color_red
0 0 0 1
1 0 1 0
2 1 0 0
3 0 1 0
4 0 0 1
这里,color
列被独热编码为三个新的二进制列。在原始数据的每一行中,只有原始颜色对应的列为1,其余列为0。