Pandas датафрейм не добавляется - PullRequest
0 голосов
/ 25 апреля 2020

Вот что мне нужно, в частности, № 3.

  1. Импорт помеченных данных
  2. Оценка слова для совпадений
  3. Обновление помеченных данных теми словами, которые похожи на «помеченные данные»

У меня есть набор помеченных данных (скажем, 100 строк), и я хочу обновить их автоматически, когда новое слово похоже на существующую строку (например, SimilarityScore > 75%).

Я начинаю с импорта помеченных данных в два df. Первый df (labelled_data), который я использую, чтобы вычислить и сохранить оценку сходства и два столбца (здесь я храню похожий текст и связанную оценку). Второй df (dictionary_revised) - это фрейм данных, который я хочу добавить. Вот код, который я использую для создания этих двух df.

#Read the labelled data
labelled_data = pd.read_csv('DictionaryV2.csv')
dictionary_revised = pd.read_csv('DictionaryV2.csv')

#Add two columns to labelled_data
labelled_data['SimilarText'] = ''
labelled_data['SimilarityScore'] = float()

Затем я вычисляю сходство Word A и Word B, обновляя labelled_data с SimilarTest и SimilarityScore. Работает, вот как выглядит результат:

   QueryText  Subjectmatter    DateAdded    SimilarText     SimilarityScore
2   hr        HR & Benefits     1/1/2020    support         0.771284
4   pay       HR & Benefits     1/1/2020    check           0.829261

Далее я создал следующую переменную, чтобы возвращать только те оценки> 75%. Работает

score = labelled_data['SimilarityScore'] > 0.75

Работает, вот пример вывода

    QueryText         Subjectmatter      DateAdded      SimilarText    SimilarityScore
0   store             Shopping           1/1/2020        retail         0.730492
1   performance       Career & Jobs      1/1/2020        connecting     0.743287

Далее я получаю текущую дату (как я хочу знать, когда вычислялся SimilarityScore)

import datetime
now = datetime.datetime.now()

Наконец, я пытаюсь добавить df dictionary_revised, используя следующее. Но это не работает. Я пробовал с «results =» и без «results =» части кода. Ни то, ни другое не работает.

for i in range(len(labelled_data[score])):  
    results = dictionary_revised.append({'QueryText': labelled_data['SimilarText'],
                            'Subjectmatter': labelled_data['Subjectmatter'],
                            'DateAdded': now.strftime('%Y-%m-%d')},ignore_index=True)

Есть предложения?

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