import pandas as pd
将字符串变成离散的数值
df = pd.DataFrame({"性别":["男","女","女","女","男","男","男","男","男","女","女","男"]})
df
| 性别 |
---|
0 | 男 |
---|
1 | 女 |
---|
2 | 女 |
---|
3 | 女 |
---|
4 | 男 |
---|
5 | 男 |
---|
6 | 男 |
---|
7 | 男 |
---|
8 | 男 |
---|
9 | 女 |
---|
10 | 女 |
---|
11 | 男 |
---|
- 将性别转换成可以用作数据分析的特征,把性别用离散值来表示
df["性别"] = pd.Categorical(df["性别"]).codes
df
| 性别 |
---|
0 | 1 |
---|
1 | 0 |
---|
2 | 0 |
---|
3 | 0 |
---|
4 | 1 |
---|
5 | 1 |
---|
6 | 1 |
---|
7 | 1 |
---|
8 | 1 |
---|
9 | 0 |
---|
10 | 0 |
---|
11 | 1 |
---|
将离散的数值变量变成独热码
from keras.utils import to_categorical
y = to_categorical(df["性别"],num_classes=2)
y
array([[0., 1.],
[1., 0.],
[1., 0.],
[1., 0.],
[0., 1.],
[0., 1.],
[0., 1.],
[0., 1.],
[0., 1.],
[1., 0.],
[1., 0.],
[0., 1.]], dtype=float32)
pd.concat([df,pd.DataFrame(y)],axis=1)
| 性别 | 0 | 1 |
---|
0 | 1 | 0.0 | 1.0 |
---|
1 | 0 | 1.0 | 0.0 |
---|
2 | 0 | 1.0 | 0.0 |
---|
3 | 0 | 1.0 | 0.0 |
---|
4 | 1 | 0.0 | 1.0 |
---|
5 | 1 | 0.0 | 1.0 |
---|
6 | 1 | 0.0 | 1.0 |
---|
7 | 1 | 0.0 | 1.0 |
---|
8 | 1 | 0.0 | 1.0 |
---|
9 | 0 | 1.0 | 0.0 |
---|
10 | 0 | 1.0 | 0.0 |
---|
11 | 1 | 0.0 | 1.0 |
---|
|