Python / двоичная таблица из списка слов - PullRequest
0 голосов
/ 25 апреля 2018

Я хотел бы создать двоичную таблицу из списка слов в текстовом файле.(в Python) я собрал все слова из разных твитов и добавил их в словарь (который представлен Word1 Word2 Word3 ... здесь и есть все)

Итак, в моем примере всеслова из твита1 настоящего в моем словаре.Во втором твите в моем словаре присутствует только третье слово твита.

        Word1 Word2 Word3 ...
Tweet1    1     1     1
Tweet2    0     0     1
Tweet3    0     0     0

Различные собранные слова находятся в текстовом файле, например:

April
Today
I'm
going
to
add
BLOOD
ALL
OVER
YOUR
HANDS

РЕДАКТИРОВАТЬ:Это хорошо работает, когда я использую твит прямо в скрипте.Однако, когда я помещаю в файл точно такой же твит, у меня появляется ошибка.

def tabBinaire():
with open("data", "r") as f:
    for line in f:
        defi = cool.DataFrame(line)
        print(defi)
        cv = CountVectorizer(token_pattern=r'\w{1,}')
        df1 = cv.fit_transform(defi['tweet'])
        output = cool.DataFrame(df1.todense(), columns=cv.get_feature_names())
        print(output)

Мой файл:

{'tweet': ['how happy am i today','why is it not raining today','why is sky blue']}

Ошибка:

Traceback (most recent call last):
  File "py2.py", line 42, in <module>
    tabBinaire();
  File "py2.py", line 33, in tabBinaire
    defi = cool.DataFrame(line)
  File "/Library/Python/2.7/site-packages/pandas/core/frame.py", line 404, in __init__
    raise ValueError('DataFrame constructor not properly called!')
ValueError: DataFrame constructor not properly called!

1 Ответ

0 голосов
/ 25 апреля 2018

Вот минимальный пример того, что вы хотите сделать:

from sklearn.feature_extraction.text import CountVectorizer
df = pd.DataFrame({'tweet': ['how happy am i today','why is it not raining today','why is sky blue']})

# initialise vectorizer
cv = CountVectorizer(token_pattern=r'\w{1,}')

# apply countvec
df1 = cv.fit_transform(df['tweet'])

# create output 
output = pd.DataFrame(df1.todense(), columns=cv.get_feature_names())

print(output)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...