Векторизация двух pandas столбцов одновременно с CountVectorizer - PullRequest
0 голосов
/ 02 мая 2020

Я хочу, я хочу применить CountVectorizer Склеарна в двух столбцах одновременно. Я пробовал это:

features = df[['col 1', 'col2']]
results = df[['col 3']

vectorizer = CountVectorizer(lowercase=False)

features = vectorizer.fit_transform(features)
results = vectorizer.fit_transform(results)

Но я получаю эту ошибку:

TypeError: expected string or bytes-like object

И тогда я пробовал это:

from sklearn.compose import make_column_transformer

vectorizer = CountVectorizer(lowercase=False)
transformer = make_column_transformer((vectorizer, 'col 1'), (vectorizer, 'col 2'))

features = transformer.fit_transform(features)
results = vectorizer.fit_transform(results)

Но я получаю эту ошибку :

ValueError: Specifying the columns using strings is only supported for pandas DataFrames

Что я делаю не так, я видел это второе решение здесь:

https://media-exp1.licdn.com/dms/image/C4E22AQFC6Uf5_el2nQ/feedshare-shrink_800/0?e=1591228800&v=beta&t=7ZQbbIvgpQKlTfg1Z_IpGT9DB21LUqy_bkKaNE41l0E

1 Ответ

0 голосов
/ 02 мая 2020

Это решение:

features = df.iloc[:, [-2,-3]]
results = df.iloc[:, -1]

from sklearn.compose import make_column_transformer

vectorizer = CountVectorizer(lowercase=False)
transformer = make_column_transformer((vectorizer, 'col 1'), (vectorizer, 'col 2'))

features = transformer.fit_transform(features)
results = vectorizer.fit_transform(results)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...