scikit learn - 将存储为字符串的要素转换为数字

时间:2015-07-30 09:59:55

标签: csv machine-learning scikit-learn

我目前正在使用scikit-learn python库将我的脚趾浸入机器学习中,并试图以格式使用某些.CSV数据

Date        Name                    Average_Price_SA
1995-01-01  Barking And Dagenham    70885.331285935
1995-01-01  Barnet                  99567.4268042005
1995-01-01  Barnsley                49608.33494746
....
....
....
2005-01-01  Barking And Dagenham    13294.12321312

我已经使用线路

使用熊猫阅读了它们
data = pd.read_csv('data.csv')

据我所知,到目前为止,我认为我应该转换那些名字'将字符串分类为浮点数,以便它们可以被接受到模型中。

我不确定该怎么做。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用scikit的LabelBinarizer将字符串转换为一个热矢量。它们具有N个零(其中N是唯一字符串的数量),在单个组件中具有一个。

from __future__ import print_function
from sklearn import preprocessing

names = ["Barking And Dagenham", "Barnet", "Barnsley"]
lb = preprocessing.LabelBinarizer()
vectors = lb.fit_transform(names)
for name, vector in zip(names, vectors):
    print("%s => %s" % (name, str(vector)))

输出:

Barking And Dagenham => [1 0 0]
Barnet => [0 1 0]
Barnsley => [0 0 1]