pandas可以多列同时生成one_hot吗?
时间: 2023-08-12 07:04:40 浏览: 99
可以,可以使用`pandas.get_dummies()`函数对多列进行one-hot编码。下面是一个示例代码:
```python
import pandas as pd
# 创建一个示例DataFrame对象
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red'],
'size': ['S', 'M', 'L', 'S'],
'shape': ['circle', 'square', 'circle', 'square']
})
# 对color、size、shape三列进行one-hot编码
one_hot_df = pd.get_dummies(df[['color', 'size', 'shape']])
# 打印编码后的结果
print(one_hot_df)
```
输出结果如下:
```
color_blue color_green color_red size_L size_M size_S shape_circle shape_square
0 0 0 1 0 0 1 1 0
1 1 0 0 0 1 0 0 1
2 0 1 0 1 0 0 1 0
3 0 0 1 0 0 1 0 1
```
可以看到,`get_dummies()`函数对三列进行了one-hot编码,并返回了一个新的DataFrame对象。
阅读全文