pandas中特征编码
时间: 2023-11-20 20:56:21 浏览: 34
在pandas中,特征编码是将分类变量转换为数值变量的过程。常见的两种编码方式是硬编码和one-hot编码。
硬编码是将每个分类变量映射到一个整数值。例如,将颜色变量映射到整数值:红色-0,绿色-1,蓝色-2等。可以使用pandas中的replace()函数实现硬编码。
下面是一个硬编码的例子:
```python
import pandas as pd
data = {'color': ['red', 'green', 'blue', 'green', 'red']}
df = pd.DataFrame(data)
# 硬编码
df['color'] = df['color'].replace({'red': 0, 'green': 1, 'blue': 2})
print(df)
```
输出结果为:
```
color
0 0
1 1
2 2
3 1
4 0
```
one-hot编码是将每个分类变量转换为一个二进制向量。例如,将颜色变量转换为三个二进制变量:红色-100,绿色-010,蓝色-001等。可以使用pandas中的get_dummies()函数实现one-hot编码。
下面是一个one-hot编码的例子:
```python
import pandas as pd
data = {'color': ['red', 'green', 'blue', 'green', 'red']}
df = pd.DataFrame(data)
# one-hot编码
df = pd.get_dummies(df, columns=['color'])
print(df)
```
输出结果为:
```
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
```