склеарн CountVectorizer и pandas фрейм данных - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь преобразовать кадр данных, содержащий строки, используя CountVectorizer. Мой фрейм данных состоит из двух столбцов, каждый из которых является строкой

df = Dataframe({'text':[string_list], 'type':[type_list]})

Теперь я пытаюсь использовать CountVectorizer для подгонки и преобразования первого столбца. Я могу сделать это с помощью следующего фрагмента

X = CountVectorizer(max_features=200).fit_transform(df.text)

Однако, если я использую

X = CountVectorizer(max_features=200).fit_transform(df['title'])

, он не работает, в том смысле, что возвращает массив только с одним экземпляром, то есть

X.shape
(1, 200)

вместо (len(df), 200), как я и ожидал.

Это проблема, поскольку я хотел бы использовать ColumnTransformer, чтобы по-разному обрабатывать два столбца моего фрейма данных следующим образом:

ColumnTransformer([
('num', CountVectorizer, ['text']),
('cat', OneHotEncoder(), ['type'])])

, но фрагмент кода не работать из-за вышеуказанного факта. У вас есть предложения, как это исправить?

...