pandas的get_dummies的详细用法
时间: 2024-12-19 22:25:46 浏览: 14
`pandas.get_dummies()` 是一个用于执行独热编码(One-Hot Encoding)的方法,它将分类变量转换成一系列二进制列,每一列表示原始类别的一个可能取值。这个函数主要用于处理具有离散类别的数据。
以下是`pandas.get_dummies` 函数的一些关键参数和用法:
1. **data**: 通常是一个包含分类特征的数据框(DataFrame)。
```python
df = pd.DataFrame([['green' , 'A'], ['red' , 'B'], ['blue' , 'A']])
df.columns = ['color', 'class']
```
2. **prefix**: 可选,用于创建新列名称的前缀,默认情况下为原列名加上下划线。
```python
prefix = 'category_'
pd.get_dummies(df, prefix=prefix)
```
3. **prefix_sep**: 可选,指定前缀与列名之间的分隔符,默认为 '_'.
4. **dummy_na**: 是否为缺失值创建额外的虚拟列,默认为 `False`。如果设置为 `True`,会为 `NaN` 创建一个新的虚拟列。
5. **columns**: 如果给定,只对这些列应用独热编码。
6. **sparse**: 如果 `True`,返回一个稀疏矩阵,适用于大型数据集,但可能导致内存占用增加。默认为 `False`。
7. **drop_first**: 如果 `True`,对于多级分类,在每个级别内只保留一个虚拟列,第一个遇到的,其余的会被丢弃。默认为 `False`。
举例来说,假设我们有颜色和类别两列,我们可以这样应用独热编码:
```python
df = pd.get_dummies(df, columns=['color'])
```
这将创建新的列如 `color_green`, `color_red`, 和 `color_blue`,对应于原始数据的颜色。
参考文档:[Pandas get_dummies官方文档](https://pandas.pydata.org/docs/reference/api/pandas.get_dummies.html)[^1]
阅读全文