pandas实现ONE-HOT
时间: 2023-10-12 14:10:33 浏览: 81
在 Pandas 中,可以使用 `get_dummies` 函数实现 ONE-HOT 编码。
假设我们有一个包含分类变量的 DataFrame,比如:
```
import pandas as pd
data = {'color': ['red', 'green', 'blue', 'green', 'red']}
df = pd.DataFrame(data)
```
我们可以使用 `get_dummies` 函数将 `color` 列编码为 ONE-HOT 形式:
```
one_hot = pd.get_dummies(df['color'])
```
得到的 `one_hot` DataFrame 如下所示:
```
blue green red
0 0 0 1
1 0 1 0
2 1 0 0
3 0 1 0
4 0 0 1
```
其中,每一列对应一个分类变量取值,如果某个样本的 `color` 值为对应的取值,则该列对应的值为 1,否则为 0。
如果需要将 ONE-HOT 编码结果与原 DataFrame 合并,则可以使用 `concat` 函数:
```
result = pd.concat([df, one_hot], axis=1)
```
得到的 `result` DataFrame 如下所示:
```
color blue green red
0 red 0 0 1
1 green 0 1 0
2 blue 1 0 0
3 green 0 1 0
4 red 0 0 1
```
阅读全文