Ошибка типа: метод Object не повторяется во время цикла данных Count Vectorizer - PullRequest
0 голосов
/ 15 июня 2019

У меня есть датафрейм размером 172 строки на 1 столбец с текстовыми данными.После того, как я очистил фрейм данных (удалив пунктуацию, строчные буквы и т. Д.), Я хочу использовать CountVectorizer для получения матрицы терминов документа, однако она не проходит правильную матрицу.Все, что он сделал, это посмотрел на заголовок датафрейма и создал матрицу 1,1, что странно.

Я пытался использовать функцию .all, но он говорит, что объект метода не повторяется.

import pandas as pd
import requests
import pickle
import numpy as np
import re
import string
excel_file = "C:\\Users\\wo944c\\Desktop\\example.xlsx"
df = pd.read_excel(excel_file)
df.shape
OUT(172,15)
pd.set_option('max_colwidth',150)
data_df2 = data_df[['Column Package']]
data_df2
def clean_text_round1(text):
 text = text.str.lower()
 text = text.str.replace('\[.*?\]','')
 text = text.str.replace('[%s]' % re.escape(string.punctuation),'')
 text = text.str.replace('\w*\d\w*','')
 text = text.str.replace('[‘’“”…]', '')
 text = text.str.replace('\n', '')   
 return text
round1 = lambda x: clean_text_round1(x)
data_clean = data_df2.apply(round1)
data_clean
from sklearn.feature_extraction.text import CountVectorizer, TfidfTransformer
cv = CountVectorizer(stop_words = 'english')
data_cv = cv.fit_transform(data_clean)
data_dtm = pd.DataFrame(data_cv.toarray(),                columns=cv.get_feature_names())
data_dtm.index = data_clean.index

data_dtm

Я вижу следующую ошибку: ValueError: Несоответствие длины: ожидаемая ось имеет 1 элемент, новые значения имеют 172 элемента

Что я хочуsee - это полная матрица терминов документа, состоящая из 172 строк, таких как фрейм данных.

...