怎么把分级变量转换成哑变量
时间: 2024-12-31 18:13:58 浏览: 8
### 如何在数据分析中将分类变量转换为哑变量
#### 使用 `pandas.get_dummies` 方法
为了处理分类数据,在机器学习模型训练之前通常会将其编码成数值形式。一种常见的方法是使用独热编码(One-Hot Encoding),即将分类特征转换为多个二进制列,每列表示原始类别中的一个可能取值。
Pandas库提供了便捷函数`get_dummies()`来实现这一过程:
```python
import pandas as pd
# 创建含有分类变量的数据框
df = pd.DataFrame({
'color': ['red', 'blue', 'green'],
'size': ['S', 'M', 'L']
})
# 应用 get_dummies 函数进行独热编码
dummies_df = pd.get_dummies(df)
print(dummies_df)
```
上述代码创建了一个简单的DataFrame对象并调用了`pd.get_dummies()`对其进行编码[^1]。这会产生一个新的DataFrame实例,其中原来的字符串类型的分类变量被替换成了多列布尔型数据表示各个类别的存在与否。
对于具有前缀的情况,可以通过设置参数`prefix`来自定义生成的新列名;如果希望指定分隔符,则可以利用`sep`参数完成此操作。例如给定如下输入:
```python
df_with_prefixes = pd.DataFrame({
"category": ["A", "B", "C"],
})
result = pd.get_dummies(df_with_prefixes, prefix="cat")
print(result)
```
这段脚本将会输出带有自定义前缀的独热编码后的表格结构。
阅读全文