2016-01-19 DictVectorizer en un peu plus simple#

La classe DictVectorizer n’accepte pas de DataFrame. Le code suivant n’est pas correct :

import pandas
from sklearn.feature_extraction import DictVectorizer

vec = DictVectorizer()

df = pandas.DataFrame( [{"cat": "a"}, {"cat": "b"}] )
vec.fit_transform(df)  # plante ici

Et on veut juste transformer le text en catégorie sans avoir besoin de transformer le DataFrame :

<<<

import pandas
from mlinsights.mlmodel import CategoriesToIntegers
df = pandas.DataFrame([{"cat": "a"}, {"cat": "b"}])
trans = CategoriesToIntegers()
trans.fit(df)
newdf = trans.transform(df)
print(newdf)

>>>

       cat=a  cat=b
    0    1.0    NaN
    1    NaN    1.0

Voir CategoriesToIntegers <http://www.xavierdupre.fr/app/mlinsights/helpsphinx/mlinsights/mlmodel/categories_to_integers.html>.